异常,即在程序执行时可能出现的错误,不正常的结果,可以手动进行捕获和处理
try{
//监控区域
}catch(Exception e){
//处理区域
//catch(想要捕获的参数类型,
//可以添加多个异常,即添加多个catch,但捕获级别需要从小到大。
}finally{
//收尾区域(无论有没有异常,这里一定会执行,IO,资源的关闭工作)
}
自动添加,选中代码,ctrl+alt+t,surround with try/catch/finally
主动抛出异常,throw和throws,一般在方法里主动抛出异常,在方法上抛出用throws,然后调用时用try/catch捕获。
异常抛出一定有捕获
例throw new Exception()
psvm(){
try{
a()
}catch(Exception e){
.......
}finally{
........
}
}
public void a()throws Exception{
if(){
throw new Exception();
}
}
自定义异常
//需要继承Exception类
public class MyException extends Exception{
//例:数字>10
private int num;
//
public MyException(int a){
num=a;
}
//重写toString方法输出信息
@Override
public String toString(){
return "MyMSg{"+num+"}";
}
}
注:
多重catch后加catch(Exception)避免遗漏
尽量处理异常,忌仅简单使用printStackTrace()打印信息
尽量添加finally释放资源。