try catch 及 try catch finally
try{
//可能抛出异常的方法
}catch((子类)Exception e){
//处理该异常的代码块
}catch((父类)Exception e){
//......
}finally{
//最终将要执行的一些代码
}
如果try中的语句抛出了异常,将立刻进入catch语句中,而不会执行全部的代码
e.printStackTrace()方法: 在命令行打印异常信息在程序中出错的位置及原因。相当于System.err.println()
程序在自动或手动(throw)抛出异常时会立即停止,如果有catch块则会进入catch语句中处理抛出的异常,然后执行catch块后的语句
异常链:
把捕获的异常包装成一个新的异常,再把新异常抛出,如:(以下代码将自定义异常MyException包装成了运行时异常,并包装后抛出)
实现方法一:(用initCause()方法来包装)
try{
...
}catch(MyException e){
RuntimeException newExc = new RuntimeException("test");
newExc.initCause(e);
throw newExc;
实现方法二:
try{
...
}catch(MyException e){
RuntimeException newExc = new RuntimeException(e);
throw newExc;
异常概念详见:http://blog.csdn.net/swpihchj/article/details/8058129
throw和throws:http://blog.csdn.net/chaoyu168/article/details/48827303
程序在执行到throw语句时立即停止