1.运 行时异常被抛出可以不处理。即不捕获也不声明抛出。【默认throws处理】
2.如果父类抛出了多个异常【编译时异常】,子类覆盖父类方法时,只能抛出相同的异常或者是他的子集。
3.父类方法没有抛出异常,子类覆盖父类该方法时也不可抛出异常。此时子类产生异常,只能捕获处理,不能声明抛出
4.当多异常处理时,捕获处理,前面的类不能是后边类的父类
5.在try/catch后可以追加finally代码块,其中的代码一定会被执行,通常用于资源回收。IO流
6.如果finally有return语句,永远返回finally中的结果,避免该情况。
Throwable
Error 致命的错误
Exception 编译时异常 不一定要处理
RuntimeException 运行时异常 不一定要处理
public void printStackTrace():打印异常的详细信息。
包含了异常的类型,异常的原因,还包括异常出现的位置,在开发和调试阶段,都得使用printStackTrace。
public String getMessage():获取发生异常的原因。
提示给用户的时候,就提示错误原因。
public String toString():获取异常的类型和异常描述信息(不用)。