Java中通常是需要执行业务异常封装操作的,业务异常封装操作如果执行的不好的话,会将原有的异常的判断变得更加的难以发现和理解,会导致需要大量的时间去排查这种问题。
那么应该如何正确的利用好Java的异常机制,正确的使用异常来更加好的提示异常信息和发现异常问题和解决问题了?
异常的来源是如下的几个层面的
1.我们使用很多的框架,框架都存在自己的异常体系,而且框架的异常体系提示的都是使用框架着的异常的,这样使得我们可以更加好的发现问题的。
2.我们服务的业务异常,需要对外进行提示。
我们封装的操作应该是这样的:
1.封装的时候不要隐藏了框架的使用异常
2.业务异常的话,对外也是需要详细的说明清楚,除非是特殊的需要加密的信息可以隐藏部分关键数据。
所以,业务异常应该是这样的。
1.继承runtimeException,因为一般的框架的异常是没有异常识别码的,所以不需要因为异常识别码的问题烦恼的。
2.对于业务异常以及常见的框架的异常,获取到相关的msg以及cause信息就可以了。
下面是一个完善的异常类
public class MyException extends RuntimeException{
private int errorCode;
private String msg;
private String causeInfo;
public MyException(String msg,String cause){
this.msg=msg;
this.causeInfo=cause;
}
public MyException(int errorCode,String msg,String cause){
this.errorCode=errorCode;
this.msg