0
最近我在我的一個程序中使用了一個Task
。基本上可以說,包含在Task
中的代碼在另一個線程中執行。該線程拋出異常,但我從未注意到,因爲Eclipse沒有顯示它(至少不在控制檯中)。從所有線程捕獲異常?
那麼,如何確保我知道所有線程的異常?
感謝您的任何提示!
更新:我想知道是否有一種方法,不涉及代碼修改/適應 - 因爲人們可以很容易地忘記。在Eclipse中的任何設置?
最近我在我的一個程序中使用了一個Task
。基本上可以說,包含在Task
中的代碼在另一個線程中執行。該線程拋出異常,但我從未注意到,因爲Eclipse沒有顯示它(至少不在控制檯中)。從所有線程捕獲異常?
那麼,如何確保我知道所有線程的異常?
感謝您的任何提示!
更新:我想知道是否有一種方法,不涉及代碼修改/適應 - 因爲人們可以很容易地忘記。在Eclipse中的任何設置?
如果說
我想知道,如果有不涉及代碼的修改/ adaptions的方式 - 因爲人們很容易忘記這一點。
你的意思是,你可以忘記爲每個線程編碼/設置它,那麼情況並非如此。
Thread.setDefaultUncaughtExceptionHandler
是一個靜態方法,讓你整個Java應用程序設置它只有一次。任何線程上的任何未捕獲的異常都將以該方法結束。
http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.UncaughtExceptionHandler.html
您可以在一個線程設置的UncaughtExceptionHandler捕獲異常。 (我不知道Java中的任務類) –
謝謝你們,反映你的答案我更新了我的問題。 –
那麼,我期望Eclipse調試器將通過適當的設置向您顯示所有線程中發生的異常。 –