异常处理: 1.tay{ // 可能产生的异常 }catch(异常类型){ //捕获异常 } 第一种情况:正常(try->忽略catch块 继续执行后面代码) 第二章情况:出现异常(try - > catch - > 后面代码) 第三种情况:异常类型不匹配(try - > catch类型不匹配 - > 中断运行) 2.tay{ // 可能产生的异常 }catch(异常类型){ //捕获异常 }finally{ //不管是否发生异常,都会执行,一种情况执行了System.exit(1);不会执行finally } 注意事项: 1) 处理异常,进行修复以让程序继续执行。例如在进行数据库查询时,数据库连接断链后重新链接成功。 2) 在对异常进行分析后发现这里不能处理它,那么重新抛出异常,让调用者处理。异常依次向上抛出,如果所有方法都不能恰当地处理异常,最终会在用户以恰当的方式提示用户,由用户来判断下一步处理措施。例如在进行数据库查询时,断链后重试几次依旧失败的情况。 3) 将异常转换为其他异常再抛出,这时应该注意不要丢失原始异常信息。这种情况一般用于将底层异常封装为应用层异常。 4) 不要捕获异常,应在函数定义中使用throws声明将抛出该异常,让调用者去处理该异常。 5) 因此,当捕获一个checked Exception的时候,必须对异常进行处理;如果认为不必要在这里作处理,就不要捕获该异常,在方法体中声明方法抛出异常,由上层调用者来处理该异常。
|