try块
监控可能发生异常的代码
如果发生了异常,try块后面的代码不会被执行.直接跳到catch块中
如果catch块不能处理,最终还是抛给系统
catch块
捕获异常、处理异常
捕获异常:声明类型是抛出异常对象类型或它的父类类型;Exception是所有异常类的父类
处理异常:printStackTrace()是异常中的打印异常信息
如果异常类的类型时抛给异常对象的类型或它的父类类型
catch块中声明异常类类型
常见的异常类型
Exception:异常层次结构的根类
ArithmeticException:算术错误情形,如以零做除数
ArrayIndexOutOfBoundsExseption:数组下标越界
NullPointerException:尝试访问null对象成员
ClassNotFoundException:不能加载所需的类
InputMismatchException:欲得到数据类型与实际输入类型不匹配
IllegalArgumentException:方法接收都非法参数
ClassCastException:对象强制类型转换出错
NumberFormatException:数字格式转换异常,如把"abc"转换成数字
异常基类:Throwable类,它有Error和Exception子类
Error异常:属于jdk或系统异常
Exception:时程序抛出的异常
Exception:分为RuntimeException(运行时异常)和RuntimeException(非运行时异常)
try-catch-finally块
finally块:无论是否有异常.都会被执行;应用于释放资源
try可以只和finally块组合使用;但没有处理异常,所有异常还是会抛出