一、如何自定义异常
1、可以通过继承 Exception
或它的子类来实现自己的异常类
2、一般而言,对于自定义的异常类,会设计两个构造器:
-
一个默认的不带参数的构造器
-
一个带参数的构造器,用于传递详细的出错信息
3、通过 e.printStackTrace()
来查看异常栈里面的信息
二、编程实战
代码的详细解读,可以参考视频教程
自定义异常:MyDivideException.java
/**
* User: 祁大聪
*/
public class MyDivideException extends ArithmeticException{
//除法自定义异常,被除数是不能为 0
public MyDivideException(){
}
public MyDivideException(String msg){
super(msg);
}
@Override
public String toString(){
return "我是自定义异常, MyDivideException" + super.getMessage();
}
}
测试类:S23.java
import java.io.BufferedInputStream;
import java.io.FileInputStream;
/**
* User: 祁大聪
*/
public class S23 {
//抛出自定义的异常
public static void testDivide(int x, int y) throws MyDivideException{
if(y == 0){
throw new MyDivideException("分母不能为0");
}
System.out.println(x/y);
}
public static void main(String[] args) {
try {
testDivide(10,0);
} catch (MyDivideException e) {
e.printStackTrace();
}
}
}