javaweb异常
1.要点
>受检查异常尽可能转化为非受检查异常。受检查异常接口声明脆弱
>提倡异常封装。提高系统友好性和可维护性
>一般DAO层不处理异常,service层处理异常,保证不返回客户端
2.建议
>dao层不捕获异常,不抛出异常。spring框架将底层数据库的checked异常封装成unchecked异常了。
>service层捕获异常,并抛出自定义的unchecked异常,异常中不定义状态码。checked异常默认情况事务不会回滚
>controller层捕获异常,并抛出自定义异常,异常类中定义需要返回的HTTP状态码
>exceptionHandler中统一处理所有异常
>这会造成controller的臃肿,很多项目使用service中抛出异常定义的状态码,controller不捕获保持代码简洁,有exceptionHandler统一处理

浙公网安备 33010602011771号