1700448591
1700448592
throw new MyBussinessException(e);
1700448593
1700448594
}
1700448595
1700448596
}
1700448597
1700448598
(2)提高系统的可维护性
1700448599
1700448600
来看如下代码:
1700448601
1700448602
public void doStuff(){
1700448603
1700448604
try{
1700448605
1700448606
//do something
1700448607
1700448608
}catch(Exception e){
1700448609
1700448610
e.printStackTrace();
1700448611
1700448612
}
1700448613
1700448614
}
1700448615
1700448616
这是很多程序员容易犯的错误,抛出异常是吧?分类处理多麻烦,就写一个catch块来处理所有的异常吧,而且还信誓旦旦地说“JVM会打印出栈中的出错信息”,虽然这没错,但是该信息只有开发人员自己才看得懂,维护人员看到这段异常时基本上无法处理,因为需要深入到代码逻辑中去分析问题。
1700448617
1700448618
正确的做法是对异常进行分类处理,并进行封装输出,代码如下:
1700448619
1700448620
public void doStuff(){
1700448621
1700448622
try{
1700448623
1700448624
//do something
1700448625
1700448626
}catch(FileNotFoundException e){
1700448627
1700448628
log.info(“文件未找到,使用默认配置文件……”);
1700448629
1700448630
}catch(SecurityException e){
1700448631
1700448632
log.error(“无权访问,可能原因是……”);
1700448633
1700448634
e.printStackTrace();
1700448635
1700448636
}
1700448637
1700448638
}
1700448639
1700448640
如此包装后,维护人员看到这样的异常就有了初步的判断,或者检查配置,或者初始化环境,不需要直接到代码层级去分析了。
[
上一页 ]
[ :1.700448591e+09 ]
[
下一页 ]