Java异常处理小结
本小结是根据尚硅谷的教程逐步进行总结,包含了自己的理解。 本篇只是对异常(exception)进行总结 exception包含编译(checked)和运行两部分异常。编译时异常是指在写代码的时候出现的异常,例如FileNotfoundException,运行时是指在运行后,程序计算后可能会出现的异常,例如数组越界异常。 这些异常都可以在代码中提前进行预防。 程序异常的处理:抓抛模型 过程一:抛:程序在正常执行的过程中,一旦出现异常,就会在异常代码处生成一个异常对象,并将这个对象抛出,一旦抛出后,代码就不再执行。 二:抓:可以理解为异常的处理方式。 try-catch-finally结构分析 try中放可能会出现异常的代码 catch中的参数部分是异常类型+变量名,内部为异常处理的方式 finally中为一定会执行的代码。 其中finally可选。 抛出的对象只会在第一次匹配到的catch中发挥作用,其他的异常即时有用也不会发挥作用。 catch中的异常类型如果没有子父类关系,声明顺须无所谓。 catch中常用getStackTrace()来处理异常。 关于finally。像数据库连接、输入输出流、网络编程Socket等资源,JVM是不能回收的,这些需要手动释放的资源就要放在finally中。 以文件打开为例,在try中可能会出现文件的异常