自定义异常

  • throw的对象就是被catch的对象,是同一个东西
  • catch,匹配类型包括父类

import java.io.IOException;
import java.math.BigDecimal;

public class Test extends Object {
    /**
     * 可能会存在异常的方法
     *
     * @param param1
     * @throws MyException
     */
    static void test(int param1) throws MyException,IOException {
        System.out.println("传递的参数为: " + param1);
        if (param1 > 10) {
            //抛出
            MyException e = new MyException("我是异常信息");
            throw e;
        }
        System.out.println("OK");
    }

    public static void main(String[] args) {
        try {
            int param2 = 11;
            Test.test(param2);
            System.out.println("我这里还有代码要执行,但不会执行");
        } catch (IOException a) {
            System.out.println("MyException=>" + a);
        } catch (Exception qwe) {
            // 凡是非String类的对象,要转化成String类的时候,都会调用toString()
            System.out.println("MyException==>" + qwe.toString());
        }
//自定义的异常类
public class MyException extends Exception {
    //异常信息
    private String detail;

    // 构造函数
    public MyException(String detail) {
        this.detail = detail;
    }

//    toString:异常的打印信息
    @Override
    public String toString() {
        return "MyException{" +
                "detail='" + detail + '\'' +
                '}';
    }
}
posted @ 2022-02-22 23:37  小幼虫虫  阅读(28)  评论(0)    收藏  举报