精华内容
下载资源
问答
  • Java 运行时异常

    2020-10-22 19:20:22
    Java 运行时异常 Java 的异常分为 检查型异常(CheckedException) 以及 运行时异常(RuntimeException)。 其中检查型异常必须被显式的处理,如果没有对其进行处理,将无法通过编译。 目录 Java 运行时异常 ...

    Java 运行时异常

    Java 的异常分为 检查型异常(CheckedException) 以及 运行时异常(RuntimeException)

    其中检查型异常必须被显式的处理,如果没有对其进行处理,将无法通过编译

     


    目录

    Java 运行时异常

    RuntimeException 源码

    继承类图

    子类

    常见的几个运行时异常


    下面我们先看一下 RuntimeException 的源码

    RuntimeException 源码

    package java.lang;
    public class RuntimeException extends Exception {
        static final long serialVersionUID = -7034897190745766939L;
    
        public RuntimeException() {
            super();
        }
    
        public RuntimeException(String message) {
            super(message);
        }
    
        public RuntimeException(String message, Throwable cause) {
            super(message, cause);
        }
    
        public RuntimeException(Throwable cause) {
            super(cause);
        }
    
        protected RuntimeException(String message, Throwable cause,
                                   boolean enableSuppression,
                                   boolean writableStackTrace) {
            super(message, cause, enableSuppression, writableStackTrace);
        }
    }

     

    继承类图

    子类

     

    常见的几个运行时异常

    1. java.lang.AbortExcption 终止异常

    2. java.lang.ClassCastException 类强制转换异常

    3. java.util.ConcurrentModificationException 并发修改异常

    4. java.time.DateTimeException 数据时间异常

    5. java.nio.FileSystemAlreadyExistsException 文件系统已存在异常

    6. java.nio.FileSystemNotFoundException 文件系统未找到异常

    7. java.lang.IllegalArgumentException 方法传递参数错误

    8. java.lang.IndexOutOfBoundsException 数组下标超界异常

    9. java.lang.NullPointerException 空指针异常

     

     

     

    展开全文
  • Java运行时异常

    2017-02-11 20:27:33
    Java运行时异常可能是Java虚拟机正常工作时抛出的异常。 Java提出两种异常机制。检查时异常(Checked Exception)和运行时异常(Runtime Exception)。 检查时异常:我们常遇到的IO异常以及sql异常就属于检查时...

    关于Java&Android面试题中时常提到的Java常见的运行时异常。

    Java运行时异常可能是Java虚拟机正常工作时抛出的异常。

    Java提出两种异常机制。检查时异常(Checked Exception)和运行时异常(Runtime Exception)。

    检查时异常:我们常遇到的IO异常以及sql异常就属于检查时异常。对于这种异常,Java编译器要求我们必须对出现的这些异常进行catch,所以面对这些异常,不管我们愿意与否,只能自己写一堆catch来捕获这些异常。

    运行时异常:我们可以不作处理。当出现这种异常时,总是由虚拟机接管。比如我们从来没有人去处理过NullPointerException异常,它就是运行时异常,而且它还是最常见的异常之一。

    RuntimeException在java.lang包下,下面是由java虚拟机提供的运行时异常:AnnotationTypeMismatchException, 
    ArithmeticException, 
    ArrayStoreException, 
    BufferOverflowException, 
    BufferUnderflowException, 
    CannotRedoException, 
    CannotUndoException, 
    ClassCastException, 
    CMMException, 
    ConcurrentModificationException, 
    DOMException, 
    EmptyStackException, 
    EnumConstantNotPresentException, 
    EventException, 
    IllegalArgumentException, 
    IllegalMonitorStateException, 
    IllegalPathStateException, 
    IllegalStateException, 
    ImagingOpException, 
    IncompleteAnnotationException, 
    IndexOutOfBoundsException, 
    JMRuntimeException, 
    LSException, 
    MalformedParameterizedTypeException, 
    MirroredTypeException, 
    MirroredTypesException, 
    MissingResourceException, 
    NegativeArraySizeException, 
    NoSuchElementException, 
    NoSuchMechanismException, 
    NullPointerException, 
    ProfileDataException, 
    ProviderException, 
    RasterFormatException, 
    RejectedExecutionException, 
    SecurityException, 
    SystemException, 
    TypeConstraintException, 
    TypeNotPresentException, 
    UndeclaredThrowableException, 
    UnknownAnnotationValueException, 
    UnknownElementException, 
    UnknownTypeException, 
    UnmodifiableSetException, 
    UnsupportedOperationException, 
    WebServiceException 

    那么,哪些是我们常见的异常呢?

    ClassCastException(类转换异常)

    IndexOutOfBoundsException(数组越界异常)

    NullPointerException(空指针异常)

    ArrayStoreException(数据存储异常,操作数组时类型不一致)

    还有IO操作的BufferOverflowException异常。

     

    展开全文
  • Java运行时异常和非运行时异常

    Java运行时异常和非运行时异常

    参考文章:

    (1)Java运行时异常和非运行时异常

    (2)https://www.cnblogs.com/diegodu/p/7298882.html


    备忘一下。


    展开全文
  • java运行时异常

    2013-07-03 15:59:00
    Java提供了两类主要的异常:runtime exception和checked exception。checked 异常也就是我们经常遇到的IO异常,以及SQL异常都是这种异常。对于这种异常JAVA编译器强制要求我们必需对出现的这些异常进行catch。所以...
    Java提供了两类主要的异常:runtime exception和checked exception。checked 异常也就是我们经常遇到的IO异常,以及SQL异常都是这种异常。对于这种异常,JAVA编译器强制要求我们必需对出现的这些异常进行catch。所以,面对这种异常不管我们是否愿意,只能自己去写一大堆catch块去处理可能的异常。 

    但是另外一种异常:runtime exception,也称运行时异常,我们可以不处理。当出现这样的异常时,总是由虚拟机接管。比如:我们从来没有人去处理过NullPointerException异常,它就是运行时异常,并且这种异常还是最常见的异常之一。 

    以前一直没仔细想过出现运行时异常了系统会怎样工作,最近在一个模块排错时,才无意中发现了系统是如何处理运行时异常。出现运行时异常后,系统会把异常一直往上层抛,一直遇到处理代码。如果没有处理块,到最上层,如果是多线程就由Thread.run()抛出,如果是单线程就被main()抛出。抛出之后,如果是线程,这个线程也就退出了。如果是主程序抛出的异常,那么这整个程序也就退出了。运行时异常是Exception的子类,也有一般异常的特点,是可以被Catch块处理的。只不过往往我们不对他处理罢了。 

    也就是说,你如果不对运行时异常进行处理,那么出现运行时异常之后,要么是线程中止,要么是主程序终止。如果程序的退出刚好是你期望的结果,那就万事OK了。 

    但最近我在项目却遇的问题,恰恰是这因为没有对运行时异常进行处理,而导致程序在运行一小段时间后就当了。事情是这样的,由于写程序时我对多线程的并发处理不太会,也就把一个模块写成了单线程的,由它来循环处理一个数据队列。但没想到队列里面的数据有一些与预期的格式不一样,处理这样的数据时,程序就抛出了运行时异常。由于没有对异常进行处理,这个异常也就抛到了Thread.run()。最后这个处理线程肯定是被终止了,队列里面的数据也就不会再有程序去处理了。这个结果显然不是我想要的,队列里面出现异常数据了,正常的处理应该是把异常数据舍弃,然后记录日志。不应该由于异常数据而,影响下面对正常数据的处理啊。 

    所以最后我在程序的循环处理模块,里面加了一个catch处理,来扑捉所有的异常,决不让这个处理线程退出,要知道我的所有数据还要依靠他来处理呢 (^_^ )。在这个场景这样处理可能是一个比较好的应用,但并不代表在所有的场景你都应该如此。如果在其它场景,遇到了一些错误,如果退出程序比较好,这时你就可以不太理会运行时异常,或者是通过对异常的处理显式的控制程序退出。 

    知道了虚拟机怎么处理运行时异常,也更进一步理解了Sping对Hibernate的封装了。由于Hibernate是和数据库打交道,所以总是要抛出一些乱七八糟的checked异常,平时我们根本不想catch这些异常。因为这些异常总是把代码弄的乱乱的,搞的到处都是try{} catch(){}块,并且常常加了catch块,也并不能把程序从异常中恢复过来(异常处理的目标之一就是为了把程序从异常中恢复出来)。为了通过编译器的检查,程序员被迫加上了catch块,往往这些catch并没有发挥他应有的作用,反而带来了很大的不便。所以Spring对Hibernate封装时就把Hibernate的异常进行了封装,全部封装成运行时异常了。也就是Spring来扑捉Hibernate抛出的异常,然后Spring把异常转换成Spring自己定义的运行时异常再抛出。这样我们在编码时使用Spring来调用Hibernate时,可以不用catch块来处理一些不必要的异常。当然你确实要是想处理,也可以通过添加cathc块去处理异常。不过这个时候,你的Catch就要扑捉运行时异常了,而不是一般的checked异常了。 

    转载自:http://blog.csdn.net/xkqtest/article/details/2275676

    展开全文
  • java 运行时异常与非运行时异常理解
  • JAVA运行时异常及检查式异常

    千次阅读 2015-08-19 12:24:47
    java运行时异常是可能在java虚拟机正常工作时抛出的异常。 java提供了两种异常机制。一种是运行时异常(RuntimeExepction),一种是检查式异常(checked execption)。 检查式异常:我们经常遇到的IO异常及sq...
  • 异常是程序运行过程中出现的错误。本文主要讲授的是Java语言的异常处理。Java语言的异常处理框架,是Java语言健壮性的一个重要体现。 Java异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常...
  • Java常见的异常,Java运行时异常和一般异常的区别 异常和错误二者的不同之处: Exception: 1.可以是可被控制(checked,检查异常) 或不可控制的(unchecked,非检查异常)。 2.表示一个由程序员导致的...
  • JAVA运行时异常和非运行时异常

    千次阅读 2019-01-23 14:27:49
    1,运行时异常:程序员不需要去处理,当异常出现的时候,JVM会为我们处理,常见的如下:  I,类转换异常:ClassCastException  II,数组越界异常:IndexOutOfBoundsException  III,空指针异常:...
  • 运行时异常和非运行时异常 (1)运行时异常都是RuntimeException类及其子类异常,如NullPointerException、IndexOutOfBoundsException等,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。这些异常一般...
  • java运行时异常与一般异常有何异同?运行时异常:由java虚拟机抛出的异常。用户不必处理。 一般异常是用户可以抛出的异常,如果抛出调用必须进行处理。运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见...
  • 建议使用运行时异常和编译时异常叫法,便于区分和理解(非运行时异常是什么异常?很懵逼) 编译时异常:程序没有通过编译器的编译,必须处理掉这个异常程序才能正常运行,比如文件路径找不到异常,类找不到异常,IO...
  • 运行时异常和非运行时异常例子:  我写一个类如下:   import java.io.*;   public abstract class MyLayer   {   ...   void someFun()   {   if(condtion)   {   throw new ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,169
精华内容 6,467
关键字:

java运行时异常

java 订阅