美文网首页
Java异常分类及常见异常

Java异常分类及常见异常

作者: 归去来ming | 来源:发表于2019-01-10 09:46 被阅读0次

    (1) 运行时异常

    定义:RuntimeException及其子类都被称为运行时异常。

    特点:Java编译器不会检查它。也就是说,当程序中可能出现这类异常时,倘若既"没有通过throws声明抛出它",也"没有用try-catch语句捕获它",还是会编译通过。例如,除数为零时产生的ArithmeticException异常,数组越界时产生的IndexOutOfBoundsException异常,fail-fail机制产生的ConcurrentModificationException异常等,都属于运行时异常。

      虽然Java编译器不会检查运行时异常,但是我们也可以通过throws进行声明抛出,也可以通过try-catch对它进行捕获处理。

    如果产生运行时异常,则需要通过修改代码来进行避免。例如,若会发生除数为零的情况,则需要通过代码避免该情况的发生!

    (2) 被检查的异常

    定义:Exception类本身,以及Exception的子类中除了"运行时异常"之外的其它子类都属于被检查异常。

    特点:Java编译器会检查它。此类异常,要么通过throws进行声明抛出,要么通过try-catch进行捕获处理,否则不能通过编译。例如,CloneNotSupportedException就属于被检查异常。当通过clone()接口去克隆一个对象,而该对象对应的类没有实现Cloneable接口,就会抛出CloneNotSupportedException异常。

    被检查的异常有:

    ClassNotFoundException,NoSuchFieldException, NoSuchMethodException, IOExceptionSQLException

    被检查异常通常都是可以恢复的。

    相关文章

      网友评论

          本文标题:Java异常分类及常见异常

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