标签:
异常捕获语句:
try-catch(多catch块)-finally
代码格式:
try-catch以及try-catch-finally
try{
//一些会抛出的异常
}catch(Exception e){
//处理该异常的代码块
}finally{
//最终要执行的代码
}
语句示例:
1 try{ 2 double d = 5/0; 3 }catch(Exception e){ 4 System.out.println("算数异常"); 5 }finally{ 6 System.out.println("finally语句块"); 7 }
语句解读:
try块:负责捕获异常,一旦try中发现异常,程序的控制权将被移交给catch块中的异常处理程序。
注释:try语句块不可以独立存在,必须与 catch 或者 finally 块同存
catch块:如何处理?比如发出警告:提示、检查配置、网络连接,记录错误等。执行完catch块之后程序跳出catch块,继续执行后面的代码。
注释:多个catch块处理的异常类,要按照先catch子类后catch父类的处理方式,因为会【就近处理】异常(由上自下)。
finally块:最终执行的代码,用于关闭和释放资源等
异常处理:
终止执行,交由异常处理程序(抛出提醒或记录日志等),异常代码块外代码正常执行。
try会抛出很多种类型的异常,多个catch块捕获多钟错误。
多重异常处理代码块顺序问题:先子类再父类(顺序不对也会提醒错误),finally语句块处理最终将要执行的代码
总结:
1、处理运行时异常时,采用逻辑去合理规避同时辅助try-catch处理
2、在多重catch块后面,可以加一个catch(Exception)来处理可能会被遗漏的异常
3、对于不确定的代码,也可以加上try-catch,处理潜在的异常
4、尽量去处理异常,切记只是简单的调用printStackTrace()去打印
5、具体如何处理异常,要根据不同的业务需求和异常类型去决定
6、尽量添加finally语句块去释放占用的资源
标签:
原文地址:http://www.cnblogs.com/brainit/p/5578254.html