finally
のみがキャッチされたときに発生した例外を特定することはできますか?Eclipseにキャッチがないときに例外を監視する方法は?
標準ThreadPoolExecutorコードからの抜粋です:
public void run() {
try {
Runnable task = firstTask;
firstTask = null;
while (task != null || (task = getTask()) != null) {
runTask(task);
task = null;
}
} finally {
workerDone(this);
}
}
すなわち、ここにはないcatch
です。私のデバッガはRuntimeExceptionが発生したことを示すworkerDone()
コールで停止しますが、ここでは例外変数ではないので、エラーメッセージなどを知る方法はありません。
...できません。例外が何であるか知りたい場合は 'catch(Throwable t){t.printStackTrace;}'を入れてください。 – bdares
@bdares、これはライブラリのコードなので、再コンパイルしたくありません –