Java程序失败-->生成异常对象封装错误条件-->抛与运行代码多线程程序中,线程生成未处理的异常,可能终止,但其它线程不受影响
错误Throwable:==>致命Error-->也称硬错误,典型:OutOfMemeryError-->通常由Java API或JVM本身抛出==>非致命Exception-->也称Bug,典型:NullPointerException
带资源的try语句:try (InputStream is = new FileInputStream(source)) {...}该资源无需finally语句清理,它会自动被关闭
try {...} catch (..) {...} finally {...}无论try,catch中怎样(即便带有return且被执行),finally都将被执行
重写方法中声明异常规则:>> 重写方法必须抛出与被重写方法抛出的异常类型相同的异常>> 重写方法可以抛出被重写方法抛出的异常的子异常>> 重写方法不能抛出被重写方法声明的异常的父异常>> 在重写方法抛出多个异常的情况下,重写方法必须抛出被重写方法抛出的异常的子集>> 重写方法未抛异常,则被重写方法也不能,反之亦然