我有一个具有匿名内部类的方法。我想从匿名内部类内部抛出未经检查的异常,并在类外部捕获它。我在执行此操作时遇到了麻烦。
@Override
public void showAchievements(){
androidLauncher.runOnUiThread(new Runnable() {
@Override
public void run() {
try {
loadingView.showLoadingView();
Games.getAchievementsClient(androidLauncher, signedInAccount)
.getAchievementsIntent()
.addOnSuccessListener(new OnSuccessListener<Intent>() {
@Override
public void onSuccess(Intent intent) {
throw new RuntimeException("Test exception");
}
});
} catch (Exception e){
// Not catching
}
}
});
}
未捕获我的异常。我在做什么错了?
答案 0 :(得分:2)
您在回调方法中引发了异常。
要么从不调用回调方法,要么不同步调用它,或者 最终调用回调方法的代码正在捕获它。
没有看到更多的代码,就不可能说出哪个。
答案 1 :(得分:0)
这是因为您必须在onSuccess
方法内移动try-catch语句。稍后将调用该侦听器。