异常的分类(对 java 中运行时异常和编译时异常的理解)
异常的分类(对 java 中运行时异常和编译时异常的理解)
一、异常的分类
-
运行时异常
- 别称:也称非受检异常、unchecked 异常
- 定义:指在程序运行时产生的异常
- 说明:这种异常即使不编写异常处理代码,依旧可以通过编译,但随着程序代码的执行,可能会引发异常的产生
- 产生:运行时异常一般由程序中的逻辑错误引起的
- 解释
- 运行时异常在程序运行时由 java 虚拟机自动进行捕获处理
- java 编译器不会对此类异常进行检查
- 也就是说,当程序中出现此类异常时,即使没有使用 try…catch 语句捕获异常或者使用 throws 关键字声明抛出异常,程序也能编译通过,只是程序在运行过程中可能报错
- java 中的运行时异常类:RuntimeException 类及其子类都是运行时异常类
-
编译时异常
- 别称:也称受检异常、checked 异常
- 定义:指在程序编译时产生的异常
- 说明:这种异常必须进行处理,否则程序无法正常运行
- 解释:java 编译器会对此类异常进行检查,如果出现此类异常,则必须自己手动对这类异常进行处理,否则程序无法通过编译
- 处理(两种处理方式)
- 使用 try…catch 语句对异常进行捕获处理
- 使用 throws 关键字声明抛出异常,由调用者对异常进行处理
- java 中的编译时异常类:除了 RuntimeException 类及其子类以外的,其他 Exception 类的子类
二、发生错误和异常的代码实例
- 发生了错误的代码
public class Test01 {
public static void main(String[] args) {
method01();
}
private static void method01() {
method01();
}
}
- 发生了运行时异常的代码
public class Test02 {
public static void main(String[] args) {
int[] a =new int[5];
System.out.println(a[10]);
}
}
- 发生了编译时异常的代码
public class Test03 {
public static void main(String[] args) {
System.out.println(20/0);
}
}
- 运行时异常和编译时异常的区别之一
原文地址:https://blog.csdn.net/m0_74037729/article/details/144412806
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!