自学内容网 自学内容网

异常的分类(对 java 中运行时异常和编译时异常的理解)

异常的分类(对 java 中运行时异常和编译时异常的理解)

一、异常的分类

  1. 运行时异常

    1. 别称:也称非受检异常、unchecked 异常
    2. 定义:指在程序运行时产生的异常
    3. 说明:这种异常即使不编写异常处理代码,依旧可以通过编译,但随着程序代码的执行,可能会引发异常的产生
    4. 产生:运行时异常一般由程序中的逻辑错误引起的
    5. 解释
      1. 运行时异常在程序运行时由 java 虚拟机自动进行捕获处理
      2. java 编译器不会对此类异常进行检查
      3. 也就是说,当程序中出现此类异常时,即使没有使用 try…catch 语句捕获异常或者使用 throws 关键字声明抛出异常,程序也能编译通过,只是程序在运行过程中可能报错
    6. java 中的运行时异常类:RuntimeException 类及其子类都是运行时异常类
  2. 编译时异常

    1. 别称:也称受检异常、checked 异常
    2. 定义:指在程序编译时产生的异常
    3. 说明:这种异常必须进行处理,否则程序无法正常运行
    4. 解释:java 编译器会对此类异常进行检查,如果出现此类异常,则必须自己手动对这类异常进行处理,否则程序无法通过编译
    5. 处理(两种处理方式)
      1. 使用 try…catch 语句对异常进行捕获处理
      2. 使用 throws 关键字声明抛出异常,由调用者对异常进行处理
    6. java 中的编译时异常类:除了 RuntimeException 类及其子类以外的,其他 Exception 类的子类

二、发生错误和异常的代码实例

  1. 发生了错误的代码
public class Test01 {
    public static void main(String[] args) {
        method01();
    }

    private static void method01() {
        method01();
    }
}

  1. 发生了运行时异常的代码
public class Test02 {
    public static void main(String[] args) {
        int[] a =new int[5];

        System.out.println(a[10]);
    }
}

  1. 发生了编译时异常的代码
public class Test03 {

    public static void main(String[] args) {

        System.out.println(20/0);

    }
}

  1. 运行时异常和编译时异常的区别之一


原文地址:https://blog.csdn.net/m0_74037729/article/details/144412806

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!