checked exception 和 unchecked exception的區別淺見

java 中的異常有一種區別方式:checked exception和unchecked exception;java

unchecked exception繼承自RuntimeException;spa

checked exception繼承自Exception;繼承


我認爲這二者的區別在於,unchecked exception是徹底能夠經過代碼來避免出現的;it

checked exception則是代碼不可控的。所謂的不可控和可避免指的固然不是catch,而是,exception的發生。io

譬如ArithmeticException(unchecked)徹底能夠經過在計算以前加個if判斷來避免出現。因此對於這類異常,java的處理機制就是絕不留情的shutdown(固然前提是不在try塊中),exception


對於checked異常,java的處理機制是,你必須在代碼中作出處理,無論你是catch住仍是throw出去。im

相關文章
相關標籤/搜索