只有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
。我的調試器在workerDone()
調用停止,指示發生RuntimeException,但由於這裏沒有異常變量,我看不出錯誤消息或其他東西。
......你不能。如果你想看看異常是什麼,就放入一個catch(Throwable t){t.printStackTrace;}。 – bdares 2012-01-30 19:28:28
@bdares,這是庫代碼,我不想重新編譯它 – 2012-01-30 19:30:14