【发布时间】:2016-01-14 15:32:30
【问题描述】:
我目前正在使用 Android Studio 开发 Android 应用,但遇到了一个我无法理解的错误。这是我的代码示例:
public class MyClass {
public void method1() throws MyException {
methodIO(); // Unhandled Exception: java.io.IOException
methodRun(); // OK
}
public void method2() throws Exception {
methodIO(); // OK
methodRun(); // OK
}
public void methodIO() throws IOException {}
public void methodRun() throws RuntimeException {}
}
class MyException extends Exception {
public MyException(){super();}
public MyException(String message, int errorCode) {
super(message);
}
}
我无法弄清楚为什么在 method1() 中,我有以下错误“未处理的异常:java.io.IOException”,而 method2() 编译正常。即使两个类都是从 Exception 继承的,抛出 RuntimeException 的方法也不会出现此问题。有人知道这里发生了什么吗?
Ps : 我想避免使用 try/catch 块或添加新的 throws 子句
【问题讨论】:
-
"我的方法通常是返回值。"这并不排除使用 try/catch。
-
是的,当然。老实说,我只是想不明白这里出了什么问题。我会很容易地找到一种方法来使用 try/catch 确实做到这一点
-
“我想避免使用 try/catch 块或添加新的 throws 子句”如果您想调用
methodIO,这些是您仅有的两个选择。 (唯一的其他选择是不调用该方法。)
标签: java exception android-studio exception-handling compiler-errors