2

我是Java的初学者。

我将一个方法声明为public void method() throws Exception,但是每当我尝试使用 using 在同一类的另一个区域中调用该方法时method();,都会出现错误:

Error: unreported exception java.lang.Exception; must be caught or declared to be thrown

如何使用该方法而不会出现此错误?

4

3 回答 3

5

在另一个调用 的方法中method(),您将不得不以某种方式处理method()抛出的异常。在某些时候,它要么需要被捕获,要么一直声明到main()启动整个程序的方法。因此,要么捕获异常:

try {
    method();
} catch (Exception e) {
    // Do what you want to do whenever method() fails
}

或在您的其他方法中声明它:

public void otherMethod() throws Exception {
    method();
}
于 2015-11-28T03:12:47.547 回答
3

throws 关键字用于声明异常。而 throw 关键字用于显式抛出异常。如果你想定义一个用户定义异常然后......

class exps extends Exception{
exps(String s){
    super(s);
 }
}

class input{
 input(String s) throws exps {
     throw new exps(s);
 }

}

public class exp{
 public static void main(String[] args){
     try{
         new input("Wrong input");
     }catch(exps e){
        System.out.println(e.getMessage());
     }
  }
}

Java try 块用于封装可能引发异常的代码。它必须在方法中使用。

于 2015-11-28T06:56:09.117 回答
0

您需要method()使用类似这样的 try-catch 块来包围调用:

try {
    method();
} catch (Exception e) {
    //do whatever
}

或者,您可以将 a 添加到被调用throws的方法中。 例子:method()

public void callingMethod() throws Exception {
    method();
}
于 2015-11-28T03:13:23.233 回答