今天学习的是异常处理的正确方式.
从中我学到了什么:
- 不要用统一的方式去捕获异常,因为异常分为系统异常和业务异常,业务异常是不需要处理的,可以返回给客户.
- 不要把异常变成一个静态的变量,这样会导致抛出出现问题
- 可以在controller层去做统一的异常处理,但是业务层的异常处理该处理处理,该抛出抛出.
- 对底层异常进行包装的时候,不能丢掉源异常信息,这样会导致debug的难度很大
- 捕获了异常直接生吞了,这样也会导致系统出现莫名其妙的问题
- 不要在finnally里面去抛出异常,这样会把原来的异常覆盖掉.
- 线程池异常如果直接抛出会导致线程退出,线程池就需要创建新的线程.