代碼實例:
問題:為什么testRunntimeException()方法沒有出現編譯錯誤提示,而testCheckedException()方法卻出現unhandle exception?
分析:
Excepiton分兩類:checked exception、runtime exception;直接繼承自Exception就是checked exception,繼承自RuntimeException就是runtime的exception。
你可以簡單地理解checked exception就是要強制你去處理這個異常(不管你throws多少層,你終歸要在某個地方catch它);而runtime exception則沒有這個限制,你可以自由選擇是否catch。
那些強制異常處理的代碼塊,必須進行異常處理,否則編譯器會提示“Unhandled exception type Exception”錯誤警告。
這里testRunntimeException()方法是runtime exception異常,testCheckedException()方法是 exception異常,屬於checked exception異常
所以testCheckedException()方法卻出現unhandle exception
怎么解決testCheckedException()方法卻出現unhandle exception?