我有一个具有匿名内部类的方法。我想从匿名内部类内部抛出一个未经检查的异常,并在类外部捕获它。我很难做到这一点。
@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
}
}
});
}
我的异常没有被捕获。我究竟做错了什么?
最佳答案
您在回调方法中抛出异常。
回调方法永远不会被调用,它不会被同步调用,或者
最终调用回调方法的代码正在捕获它。
如果没有看到更多的代码,就不可能说出是哪一个。