Java基础(8)——java的异常机制初步 & 异常的捕获和处理 & 自定义异常

目录

  • 引出
  • 异常是什么
  • java异常体系
    • 1.try...catch...finally 捕获和处理异常
    • 2.throws---表示方法可能有异常
    • 3.throw---动词抛出,捕获后抛出异常
  • 自定义异常
  • 总结

引出

java异常机制初步


在这里插入图片描述

异常是什么

程序运行时,产生非正常的结果。

Java基础(8)——java的异常机制初步 & 异常的捕获和处理 & 自定义异常_第1张图片

Java基础(8)——java的异常机制初步 & 异常的捕获和处理 & 自定义异常_第2张图片

java异常体系

Java基础(8)——java的异常机制初步 & 异常的捕获和处理 & 自定义异常_第3张图片

Java基础(8)——java的异常机制初步 & 异常的捕获和处理 & 自定义异常_第4张图片
在这里插入图片描述
在这里插入图片描述

异常的体系:

Java基础(8)——java的异常机制初步 & 异常的捕获和处理 & 自定义异常_第5张图片

异常体系

Java基础(8)——java的异常机制初步 & 异常的捕获和处理 & 自定义异常_第6张图片

异常是可抛出的

在这里插入图片描述
不同的异常处理:

  • 如果一个异常类继承Exception,可检测异常:必须处理
  • 继承RuntimeException,运行时异常,可以不处理, 实际工作中,使用继承RuntimeException

Java基础(8)——java的异常机制初步 & 异常的捕获和处理 & 自定义异常_第7张图片

如果是Exception,则可以捕获所有异常:

Java基础(8)——java的异常机制初步 & 异常的捕获和处理 & 自定义异常_第8张图片

1.try…catch…finally 捕获和处理异常

最终的

try{

} catch(Exception e){

}finally{
有无异常一定会执行。
}

Java基础(8)——java的异常机制初步 & 异常的捕获和处理 & 自定义异常_第9张图片

2.throws—表示方法可能有异常

位置: 出现在方法上,告诉调用者,方法可能有异常。

Java基础(8)——java的异常机制初步 & 异常的捕获和处理 & 自定义异常_第10张图片

3.throw—动词抛出,捕获后抛出异常

动词: 抛出异常对象。

Java基础(8)——java的异常机制初步 & 异常的捕获和处理 & 自定义异常_第11张图片

public class ExceptionDemo {
    public static void main(String[] args) {

        try {
            double c = divide(5, 0);
        } catch (Exception e) {
//            throw new RuntimeException(e);
            System.out.println(e.getMessage());
            System.out.println(e.hashCode());
            System.out.println(e.getLocalizedMessage());
            System.out.println(e.getClass());
        }

    }

    public static double divide(int a,int b){
        if(b==0) throw new RuntimeException("除数不能为0");
        return 1.0*a/b;
    }
}

自定义异常

继承RuntimeException


package com.woniuxy.exception;
/**
 * 自定义异常
 */
public class CarException extends RuntimeException{ // 继承RuntimeException
    public CarException(String msg){
        super(msg); // 调用父类的构造方法
    }
}

总结

1.java的异常体系;
2.try catch 的finally;
3.throws和throw;
4.自定义异常;

你可能感兴趣的:(Java,java,jvm,spring)