抛出异常正确的结构?
throws Exception correct structure?
只是想知道这是否是用于尝试和异常的正确结构:
MediaPlayer.OnCompletionListener videoViewCompletionListener = new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) throws IllegalStateException {
try {
mp.stop();
mp.release();
videoView.stopPlayback();
} finally {
toastDisplay.cancel();
toastDisplay = Toast.makeText(MainActivity.this, "Completed Video", Toast.LENGTH_LONG);
toastDisplay.show();
}
}
};
当我这样做时,它是否会崩溃我的应用程序,以防它抛出此示例中的 IllegalStateException
?
您在声明中声明您的方法抛出 IllegalStateException
。但是,您永远不会引发调用者处理的异常。如果你想抛出的异常是由 MediaPlayer
方法引起的,你需要有一个 catch
块。在那,只有 throw
调用者要处理的异常。
此外,Exception handling : throw, throws and Throwable 是一本好书。
只是想知道这是否是用于尝试和异常的正确结构:
MediaPlayer.OnCompletionListener videoViewCompletionListener = new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) throws IllegalStateException {
try {
mp.stop();
mp.release();
videoView.stopPlayback();
} finally {
toastDisplay.cancel();
toastDisplay = Toast.makeText(MainActivity.this, "Completed Video", Toast.LENGTH_LONG);
toastDisplay.show();
}
}
};
当我这样做时,它是否会崩溃我的应用程序,以防它抛出此示例中的 IllegalStateException
?
您在声明中声明您的方法抛出 IllegalStateException
。但是,您永远不会引发调用者处理的异常。如果你想抛出的异常是由 MediaPlayer
方法引起的,你需要有一个 catch
块。在那,只有 throw
调用者要处理的异常。
此外,Exception handling : throw, throws and Throwable 是一本好书。