Bootstrap

Java基础15

Java基础15

异常

  1. 异常:代码在编译或者执行过程中可能出现的错误。

    int[] arr = {10,20,30};
    System.out.println(arr[3]);  // 数组越界异常
    
    System.out.println(10 / 0); // ArithmeticException
    
    // 读取的文件不存在了,IO异常
    // 读取网络资源,断网了
    
  2. Java的异常体系:

    • Error:代表的系统级别错误(属于严重问题),也就是说系统一旦出现问题,Sun公司会把这些问题封装成Error对象给出来。
    • Exception:异常,它代表的才是我们程序可能出现的问题,所以,我们程序员通常会用Exception以及它的孩子来封装程序出现的问题。
      • 运行时异常:RuntimeException及其子类,编译阶段不会出现错误提醒,运行时出现的异常。(如:数组越界异常)
      • 编译时异常:没有继承RuntimeException的异常及其子类。编译阶段就会出现错误提醒。(如:日期解析异常)
        在这里插入图片描述
  3. 异常的处理方式:

    • 捕获异常:try…catch,try…catch…finally

      try {
          // 监视可能出现的异常代码!
      }catch(异常类型1 变量){
          // 处理异常
      }catch(异常类型2 变量){
          // 处理异常
      }...
      finally {
          // 处理善后工作
      }
      
    • 抛出异常:throw,throws

      方法 throws 异常1,异常2,异常3 …{}

  4. 异常的作用:

    • 异常可以用来定位程序bug的关键信息。
    • 可以作为方法内部的一种特殊返回值,以便通知上层调用者,方法的执行问题。
  5. 自定义异常:

    • 自定义编译时异常,继承Exception。
    • 自定义运行时异常,继承RuntimeException。
;