java异常Exception和常见的RunTimeException

java异常Exception和常见的RunTimeException

所有的异常都是由Throwable继承而来,在下一层被分解为两个分支:Error 和 Exception。

Error 类层次结构描述了 Java 运行时系统的内部错误和资源耗尽错误。 应用程序不应该 抛出这种类型的对象。 如果出现了这样的内部错误, 除了通告给用户,并尽力使程序安全地 终止之外, 再也无能为力了。这种情况很少出现。

在设计java程序时,需要关注的是Exception层的异常信息:
这个层次结构又划分为两个分支:RunTimeException 和 Exception:

1、由程序错误导致的异常属于 RuntimeException,也就是运行时异常 ,这种异常又称为不受检异常,编译器并不会报错,当发生此类异常时会直接交由虚拟机接管。
派生于 RuntimeException 的常见异常包含下面几种情况:

NullPointerException - 空指针引用异常
ClassCastException - 类型强制转换异常。
IndexOutOfBoundsException - 下标越界异常
FileNotFoundException - 文件未找到异常
ArithmeticException - 算术运算异常
IllegalArgumentException - 传递非法参数异常。
NegativeArraySizeException - 创建一个大小为负数的数组错误异常
NumberFormatException - 数字格式异常
SecurityException - 安全异常
UnsupportedOperationException - 不支持的操作异常

“如果出现RuntimeException异常,那一定就是你的问题”,这句话还是有一定道理的

2、其他异常,也称为受检异常,会在编译时就曝出错误,需要自己去捕获并处理
不是派生于RuntimeException 的异常包括:
试图在文件尾部后面读取数据。
试图打开一个不存在的文件。
试图根据给定的字符串查找 Class 对象, 而这个字符串表示的类并不存在

发布了60 篇原创文章 · 获赞 25 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_41466437/article/details/105490971