异常补充

三种异常

  第一种:受查异常(编译过程中出现的异常) 

    第二种:非受查异常(运行时出现的异常)

    第三种:自定义异常(我们自己定义的一种异常)

补充自定义异常

//第一步:创建自定义异常类
//第二步:继承RuntimeException或者Exception
//第三步:快捷键调用构造方法,引用父类的构造方法
public class MyException extends RuntimeException {

    public MyException() {
        super();
        // TODO Auto-generated constructor stub
    }

    public MyException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
        super(message, cause, enableSuppression, writableStackTrace);
        // TODO Auto-generated constructor stub
    }

    public MyException(String message, Throwable cause) {
        super(message, cause);
        // TODO Auto-generated constructor stub
    }

    public MyException(String message) {
        super(message);
        // TODO Auto-generated constructor stub
    }

    public MyException(Throwable cause) {
        super(cause);
        // TODO Auto-generated constructor stub
    }

}
//任意举个例子调用自定义异常

public class Calculate {
public static void main(String[] args) {
try {
int a = 100, b = 0;
System.out.println(resultCalcu(a, b));
} catch (Exception e) {// 有异常必须处理,否则会交给jvm处理
System.out.println(e.getMessage());// 获取异常信息
e.printStackTrace();// 程序员使用的查看详细的堆栈追踪信息
}
}

// 创建一个方法
static int resultCalcu(int a, int b) {
if (b != 0) {
int result = a / b;
return result;
}
throw new MyException("除数不能为0");

}

}

执行结果:

除数不能为0
com.woniu.exception.MyException: 除数不能为0
at com.woniu.exception.Calculate.resultCalcu(Calculate.java:20)
at com.woniu.exception.Calculate.main(Calculate.java:7)

原文地址:https://www.cnblogs.com/19322li/p/10672753.html