1 .一个供其他程序员使用的子系统中
用于表示子系统故障的异常类型可能会产生多种解释
可将原始异常设置为新异常的原因
try
{
access the database;
}
catch ( SQLException e)
{
Throwable se = new ServletException(“database error”);
se.initCause(e);
throw se ;
}
2 .解决抛出异常后剩余代码的处理 用finally
try
catch
finally
(1)执行无异常try finally
(2)try catch捕获异常 finally
(3)try 发生非受查异常 finally
3 .try语句中包含return,方法返回前会先执行finally
若finally中也有return,会覆盖原始返回值
4 .带资源自动关闭的try语句
try ( Resource res = . . . )
{
work with res
}
try退出后自动执行res.close,可指定多个资源
5 .堆栈轨迹 ( stack trace ) 是一个方法调用过程的列表
Throwable t = new Throwable() ;
StringWriter out = new StringWriter () ;
t.printStackTrace ( new PrintWriter ( out )) ;
String description = out . toString();
6 .捕获异常比简单测试花费时间多
7 .将整个任务包在try语句块中
不要一条一条
8 .很少出现异常用catch直接解决
9 .检测错误更细化些好
10 .传递异常比捕获好