每个系统都要有自己的异常处理框架,可以扑捉所有Error,Exception,统一处理,向用户提供界面统一的处理结果。
有一些原则需要遵守:
1)系统应该将所有Throwable异常都扑获,因为对用户来说,所有异常都是在使用软件中出现了,因此应该向用户提供更容错的软件系统。
2)Error可以转换为Exception,Exception分为RuntimeException和其他异常,如果是RuntimeException,可以在处理异常后并记录下来,供开发人员修改。
3)系统中所有异常都继承AppException,它是一个RuntimeException,所有其他异常,例如Controller/Service/Dao层发生的异常都继承这个异常,而扑捉到的Error以及其他非RuntimeException异常都转换为这个异常抛出。
4)客户端在收到AppException异常以后,统一处理,提供统一的错误信息给用户。
Spring的异常处理框架,被公认为一种非常好的处理思想,可以参考一下。
待续。。。。