自定义异常
用户自定义异常类,只需继承exception类即可
在程序中自定义异常,大致分为几步:
- 创建自定义异常类。
- 在方法中通过throw关键字抛出异常对象
- 若在当前抛出异常的方法中处理异常,可以使用try-catch语句捕获并处理;否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作
- 在出现异常方法的调用者中捕获并处理异常
//自定义异常类中
public class MyException extends Exception {
//传递数字>10;
private int detail;
public MyException(int detail) {
this.detail = detail;
}
//toString:异常的打印信息
@Override
public String toString() {
return "MyException{" + "异常在" + detail + '}';
}
}
//测试类中
public class Test {
//可能存在的方法
static void test(int a) throws MyException{
System.out.println("传递的参数为" + a);
if(a>10){
/*try{
throw new MyException(a);
}catch (MyException e){
e.printStackTrace();
}
方式一:捕获后打印
*/
throw new MyException(a); //抛出
}
System.out.println("OK");
}
static void main(String[] args) {
try {
test(11);
} catch (MyException e) {
System.out.println("MyException=>"+ e);
}
}
}
经验总结:
- 处理运行时异常时,采用逻辑去合理规避同时辅助try-catch处理
- 在多重catch块后,可以加一个catch(Exception)来处理可能会被遗漏的异常
- 对于不确定的代码,可以加上try-catch,处理潜在的异常
- 要根据不同的业务要求与异常类型去决定如何具体处理异常
- 尽力处理异常,切忌只简单调用printDtackTrace()去打印输出
6.尽力添加finally语句块去释放占用的资源

浙公网安备 33010602011771号