美文网首页
JAVA异常

JAVA异常

作者: YoungChen_ | 来源:发表于2018-06-01 17:27 被阅读0次

Java异常

Throwable

Throwable是Java语言中所有错误或异常的超类。
Throwable包含两个子类:Error 和 Exception,它们通常用于表示发生了异常情况。
Throwable包含了其线程创建时线程执行的快照,它提供了printStackTrace()等接口,用于获取堆栈跟踪数据等信息。

Exception

Exception及其子类是Throwable的一种形式,它指出了合理的应用程序想要捕获的条件。

RuntimeException

1-RuntimeException是那些可能在Java虚拟机正常运行期间抛出的异常的超类。
2-编译器不会检查RuntimeException异常。例如:除数为0,抛出ArithmeticException异常。RuntimeException是
ArithmeticException的超类。若没有通过throws声明抛出异常,也没有try...catch...处理该异常,也能通过编译,
这就是我们所说的“编译器不会检查RuntimeException异常”,如果代码产生了运行时异常,则需要修改代码来避免。

Error

和Exception一样Error也是Throwable的子类。它用于指示合理的应用程序不应该试图捕获的严重问题,大多数这样的错误都是异常条件,和RuntimeException一样,
编译器不会检查Error。

Java将可抛出的Throwable的结构分为三种类型:运行时异常,被检查的异常,错误

01)运行时异常

RuntimeException及其子类都被成为运行时异常
如:数组下标越界 ArrayIndexOutOfBoundsException
    字符串下标越界 StringIndexOfOutBoundsException
    空指针异常 NullPointerException
    (非法参数)参数异常 IllegalArgumentException
    类型转换异常 ClassCastException

02)被检查异常

Exception,以及子类中除了运行时异常之外的其他子类都属于被检查异常
特点:Java编译器会检查它。此类异常,要么通过throws进行声明抛出,要么通过try-catch捕获处理,否则不能通过编译。
如:流异常 IOException
    HTTP异常 HttpException
    文件不存在异常 FileNotFoundException
    SQL异常 SQLException
    XML异常 SAXException
被检查异常通常都是可以恢复的

03)错误

Error类及其子类
和运行时异常一样,编译器不会对错误进行检查
当资源不足、约束失败就产生错误。程序本身无法修复这些错误。
如: 内存溢出 OutOfMemoryError
    栈溢出 StackOverflowError
    未知错误 UnknownError

对于可以恢复的条件使用被检查异常,对于程序错误使用运行时异常。

相关文章

网友评论

      本文标题:JAVA异常

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