我是Java的初学者。
我将方法声明为public void method() throws Exception
,但每当我尝试使用method();
在同一个类的另一个区域中调用该方法时,我都会收到错误:
Error: unreported exception java.lang.Exception; must be caught or declared to be thrown
如何在不收到此错误的情况下使用该方法?
答案 0 :(得分:5)
在另一个调用method()
的方法中,您必须以某种方式处理method()
抛出的异常。在某些时候,它需要被捕获,或者一直声明为启动整个程序的main()
方法。所以,要么抓住例外:
try {
method();
} catch (Exception e) {
// Do what you want to do whenever method() fails
}
或以其他方法声明:
public void otherMethod() throws Exception {
method();
}
答案 1 :(得分: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 block用于包含可能引发异常的代码。它必须在方法中使用。
答案 2 :(得分:0)
您需要使用try-catch块围绕method()
调用,如下所示:
try {
method();
} catch (Exception e) {
//do whatever
}
或者,您可以在调用throws
的方法中添加method()
例如:
public void callingMethod() throws Exception {
method();
}