RuntimeException、Exception和error的区别

java中所有错误均继承Throwable

Exception:

1、RunntimeException:运行时异常,表示代码本身存在bug,常见的有NullPointerException,ArrayIndexOutOfBoundsException,ArithmaticException(算数异常,如除数为0)

                                   系统一旦出现RunntimeException,因为是代码错误引起的,try...catch或throws对bug毫无意义,必须要处理。

2、非RunntimeException:受检查异常表示程序可以处理的异常,如果抛出异常的方法本身不能处理它,那么方法调用者应该去处理它,从而使程序恢复运行,不至于终止程序。

            利用try-catch对其进行处理,或者 throws即可

               常见的有IOException,InterruptedException。

error:用于指示合理的应用程序不应该试图捕获的严重问题。大多数这样的错误都是异常条件。虽然 ThreadDeath 错误是一个“正规”的条件,但它也是 Error 的子类,因为大多数              应用程序都不应该试图捕获它。通常是系统出现了不可控制的错误,这个通常与程序无关,所以是不需要处理的。

posted on 2018-03-20 11:19  梦三辰  阅读(484)  评论(0编辑  收藏  举报

导航