try{
// do something
}
catch ( NullPointerException ) {
// 捕获到空指针异常才会被执行
}
finally {
// 不管怎样都会被执行
}
System.out.println( " 程序无异常 或 异常被捕捉的情况下才会被执行 !" );
说明:
finally的代码一定会执行,不管catch是否能取到异常
catch里面的代码,要取到异常栈内的异常才会被执行
finally之后的代码,要catch捕获到异常才会被执行
如果发生异常,整个程序需要catch捕获到异常才会从catch处被继续运行起来,否则直接在异常处发生中断并抛出未捕获异常
日志的写入位置
catch处适合写入日志(finally适合关闭资源)
uncatchExceptions接口适合写入未捕获异常的日志