美文网首页
Java异常

Java异常

作者: __Simon__ | 来源:发表于2019-05-21 23:44 被阅读0次

Java中所有的异常都是派生于Throwablepeople的一个实例

Throwable

一、checked异常和unchecked异常

checked异常:

表示无效,不是程序中可以预测的。比如无效的用户输入,文件不存在,网络或者数据库链接错误。这些都是外在的原因,都不是程序内部可以控制的。
必须在代码中显式地处理。比如try-catch块处理,或者给所在的方法加上throws说明,将异常抛到调用栈的上一层。

继承自java.lang.Exception(java.lang.RuntimeException除外)。

unchecked异常:

表示错误,程序的逻辑错误。是RuntimeException的子类,比如IllegalArgumentException, NullPointerException和IllegalStateException。
不需要在代码中显式地捕获unchecked异常做处理。
继承自java.lang.RuntimeException(而java.lang.RuntimeException继承自java.lang.Exception),和Error

  • Error:不可控的错误

  • RuntimeException:运行时检测到的是代码的问题,数组越界异常(ArrayIndexOutBoundsException),空指针异常(),类型强制转换异常(ClassCastException)。这些都是能够避免发生的。

  • 子类中重写了父类中的方法,那么子类中的方法不能抛出超出父类方法可抛出异常的范围。也就是说,子类方法放出的异常范围是父类方法抛出异常范围的子集。

  • try后面至少要跟一个catch或者finally块

  • 自定义异常:
    必须要捕获处理的异常使用受检异常
    没必要捕获处理的异常使用非受检异常

相关文章

网友评论

      本文标题:Java异常

      本文链接:https://www.haomeiwen.com/subject/mbnudxtx.html