创建我自己的 Java 异常 class
Creating my own Java Exceptions class
我已经创建了自己的例外 class
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) 方法中做了。
which I already did in the setNumber(String number) method
是的,但是您没有在调用setNumber()
的方法中设置期望值,即main()
。编译器告诉您 main()
需要声明它可能会抛出该异常,因为它调用的方法可能会抛出该异常。
您可能想要将 throws MyException
添加到 main()
,或者将对 setNumber()
的调用包装在处理 MyException
的 try/catch
中。由于 Java 使用检查异常,任何给定的方法要么需要处理可能的异常,要么声明它可以抛出它们。
我已经创建了自己的例外 class
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) 方法中做了。
which I already did in the setNumber(String number) method
是的,但是您没有在调用setNumber()
的方法中设置期望值,即main()
。编译器告诉您 main()
需要声明它可能会抛出该异常,因为它调用的方法可能会抛出该异常。
您可能想要将 throws MyException
添加到 main()
,或者将对 setNumber()
的调用包装在处理 MyException
的 try/catch
中。由于 Java 使用检查异常,任何给定的方法要么需要处理可能的异常,要么声明它可以抛出它们。