异常(Exception)分几种类型?有什么区别?写出几个常见异常。
Java 中的异常(Exception)又称为例外,是一个在程序执行期间发生的事件,它中断正在执行的程序的正常指令流。为了能够及时有效地处理程序中的运行错误,必须使用异常类。
异常主要分为以下两种异常。
1、运行时异常都是 RuntimeException 类及其子类异常,如
NullPointerException、IndexOutOfBoundsException
等,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。这些异常一般由程序逻辑错误引起,程序应该从逻辑角度尽可能避免这类异常的发生。
2、非运行时异常是指 RuntimeException
以外的异常,类型上都属于 Exception 类及其子类。程序就不能编译通过。IOException和ClassNotFoundException 等以及用户自定义的 Exception 异常,一般情况下不自定义检查异常。
扩展资料
java的exception机制:
早期的C语言的异常处理机制,通常是我们人为的对返回结果加一些标志来进行判定,比如发生错误返回什么标志,正常情况下我们又是返回什么标记,而这些都不是语言本身所赋予我们的,这种机制的问题在于,C语言的异常处理机制全是我们人为的定义。
这样就会造成业务逻辑的主线受到异常处理的牵制,或者说是我们难免会将注意力转移,并且造成业务逻辑与异常处理之间有很大程度上的缠绕。
参考资料来源:百度百科-异常