public class MyException extends Exception{
private String msg;
public MyException(){
super();
}
public MyException(String msg)
{super(msg);}
}
自定义一个异常们可以它继承Exception或者RuntimException类,
区别在于RuntimException可以不强制进行处理;而Exception需要处理,处理方法包括它thorws(向上抛)和用try-catch包围它;
属性包括一个String类型参数;方法:包括一个有参构造(String类型);一个无参构造;
都调用父类的构造方法。
public class TestException {
public void test() throws MyException {
throw new MyException();
}
}
然后定义一个类让它抛出自定义的异常;
public class Text {
public static void main(String[] args) {
TestException test=new TestException();
try{test.test();
}
catch(MyException e){
e.printStackTrace();
}
}}
由于之前异常不是RuntimeException;而且被抛出;main方法中需要处理这个异常;(Try-catch).
运行结果如下:
MyException
at TestException.test(TestException.java:3)
at Text.main(Text.java:7)