1. 程式人生 > >java中出現超出預期的異常可以捕獲throwable來定位

java中出現超出預期的異常可以捕獲throwable來定位

一般在寫java程式碼時習慣捕獲Exception, 實際上java中異常的頂級父類是throwable, 經常會出現一些並非exception繼承分支中的異常,比如scala中有大量的異常都不是繼承自exception, 又如classnotdefexception , abstractmethoderror等繼承自Error的一些異常。異常情況超出我們的預期,導致程式邏輯直接中斷,很多時候我們會糾結於在try塊中尋找問題,想不通明明try了,卻為什麼沒有catch到異常?其實遇到超出預期的情況我們不妨去看一下報的異常類的原始碼,看一下這個異常的繼承情況,很多時候就能找到問題的原因