美文网首页JAVA
Java中异常有哪几类?分别怎么使用?

Java中异常有哪几类?分别怎么使用?

作者: 刺風 | 来源:发表于2018-11-10 20:31 被阅读37次

    说道异常的分类先从Throwable类说起,Throwable类是Java异常类型的顶层父类,一个对象只有是 Throwable 类的(直接或者间接)实例,他才是一个异常对象,才能被异常处理机制识别。JDK中内建了一些常用的异常类,我们也可以自定义异常。
    一、异常的分类:
    Throwable包含了错误(Error)和异常(Excetion两类)

    Java异常的分类和类结构图
    Exception又包含了运行时异常(RuntimeException, 又叫非检查异常)和非运行时异常(又叫检查异常)
    1. Error是程序无法处理了, 如果OutOfMemoryError、OutOfMemoryError等等, 这些异常发生时, java虚拟机一般会终止线程。
    2. 运行时异常都是RuntimeException类及其子类,如 NullPointerException、IndexOutOfBoundsException等, 这些异常是不检查的异常, 是在程序运行的时候可能会发生的, 所以程序可以捕捉, 也可以不捕捉. 这些错误一般是由程序的逻辑错误引起的, 程序应该从逻辑角度去尽量避免。
    3. 检查异常是运行时异常以外的异常, 也是Exception及其子类, 这些异常从程序的角度来说是必须经过捕捉检查处理的, 否则不能通过编译. 如IOException、SQLException等。

    二、如何使用:

    1. 非检查异常表示无法让程序恢复运行的异常,导致这种异常的原因通常是由于执行了错误的操作。一旦出现错误,建议让程序终止。
    2. 受检查异常表示程序可以处理的异常。如果抛出异常的方法本身不处理或者不能处理它,那么方法的调用者就必须去处理该异常,否则调用会出错,连编译也无法通过。
    3. 对于运行异常,建议不要用 try...catch...捕获处理,应该在程序开发调试的过程中尽量的避免,当然有一些必须要处理的,自己知道了那个部分会出现异常,而这种异常你要把它处理的你想要的结果。

    尊重原创,参考文献:
    https://blog.csdn.net/qq_34309305/article/details/79202929
    https://blog.csdn.net/itzhangdaopin/article/details/78710830

    相关文章

      网友评论

        本文标题:Java中异常有哪几类?分别怎么使用?

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