我有一個聲明,引發了很多檢查異常。我可以添加所有catch塊的所有的人都像這樣:是否有可能捕獲除運行時異常外的所有異常?
try {
methodThrowingALotOfDifferentExceptions();
} catch(IOException ex) {
throw new MyCustomInitializationException("Class Resolver could not be initialized.", ex);
} catch(ClassCastException ex) {
throw new MyCustomInitializationException("Class Resolver could not be initialized.", ex);
} catch...
我不喜歡這一點,因爲他們都在處理相同的方式,以便有一種重複的代碼,也有大量的代碼編寫。相反,能趕上Exception
:
try {
methodThrowingALotOfDifferentExceptions();
} catch(Exception ex) {
throw new MyCustomInitializationException("Class Resolver could not be initialized.", ex);
}
這將是確定的,但我希望所有運行時異常被丟棄而不被卡住。有沒有解決這個問題的方法?我在想,要捕捉的異常類型的一些聰明的泛型聲明可能會訣竅(或者可能不會)。
很好的答案... +1 – Juvanis
+1很酷。不是我見過的最乾淨的,但是有訣竅。 – drasto