public class Test {
public static void main(String[] args) {
try {
doSomething(new TestCallback() {
@Override
public void doCallback() {
throw new NullPointerException();
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
public static void doSomething(TestCallback callback){
callback.doCallback();
}
interface TestCallback {
public void doCallback();
}
}
RESULT:
java.lang.NullPointerException
at managers.concurrency.Test$1.doCallback(Test.java:11)
at managers.concurrency.Test.doSomething(Test.java:20)
at managers.concurrency.Test.main(Test.java:8)
上記のコードではNullPointerException
、コールバック コードがスタックの別の部分で実行されるため、取得されます。そのような例外をローカルでキャッチする方法はありますか?