创建我自己的Java Exceptions类

时间:2015-04-26 16:03:41

标签: java exception exception-handling

我创建了自己的异常类

public class MyException extends Exception{

public MyException(){
    super();
}
public MyException(String s){
    super(s);
}
}


public class Main(){
...
public void setNumber(String number) throws MyException{
    if (containsNumber(number)) {
        throw new MyException(number 
                + " no number!");
    }
}

}


public static void main(String[] args){
    Main x= new Main();
    x.setNumber("028347987H");
}
}

我的代码不会编译。主方法需要public static void main(String[] args) throws MyException,我已经在setNumber(String number)方法中做了。

1 个答案:

答案 0 :(得分:3)

  

我已经在setNumber(String number)方法中做了

是的,但是你没有调用 setNumber()的方法中设置了期望值,即main()。编译器告诉你main()需要声明它可能抛出该异常,因为它调用的方法可能抛出该异常。

您要么将throws MyException添加到main(),要么将setNumber()的电话打包到处理try/catch的{​​{1}}。由于Java使用了已检查的异常,因此任何给定的方法都需要处理可能的异常或声明它可以抛出它们。