三种异常
第一种:受查异常(编译过程中出现的异常)
第二种:非受查异常(运行时出现的异常)
第三种:自定义异常(我们自己定义的一种异常)
补充自定义异常
//第一步:创建自定义异常类 //第二步:继承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)