java中可以自定义异常,并抛出、捕获自定义的异常。
class exception1 extends Throwable{
public exception1(){}
public exception1(String msg){
super(msg);
}}
自定义的异常,可以继承Throwable,也可以继承Exception。重写两个默认的构造方法,带参数的时必须重写的。
public void getName() throws exception1{
if(true){
throw new myException().new exception1("自定义信息");
}}
在方法中抛出自定义的异常,抛出时要有参数(“自定义信息”)。
然后在调用方法时,捕获异常:
public static void main(String[] args) {
try{
new myException().getName();
}catch(exception1 e){
e.printStackTrace();
}}
当符合异常抛出的条件时,就会捕获相应的异常:
ceshi.myException$exception1: 自定义信息
at ceshi.myException.getName(myException.java:17)
at ceshi.myException.main(myException.java:28)