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