请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

抛异常的一个问题

图片描述
图片描述
图片描述
一哥,图1是工程里的controller层的大概模板,都是这样new一个响应类来返回给前端,下面两张是我写的,封装了一个统一响应类,领导说我写的没有抛出异常,要向他们一样在controller抛出异常,我听着大概意思应该是数据库操作的时候万一有异常的场景,请问一哥,我这个代码存在这方面的问题吗,应该怎样改造。(项目里没做全局异常处理,所以错误返回我也是直接通过响应类来处理了)

正在回答 回答被采纳积分+3

1回答

张勤一 2020-09-18 15:55:52

骑猪大佬你好:

    怎么说呢,我没有办法评价你所写的模板代码,但就我个人对代码和工程业务的理解,这样的写法显得多余而且丑陋,大量的样板代码(为什么不使用统一的异常捕获去拦截处理呢?)

    另外,在 Controller 层中捕获异常的意义是什么呢?Service 不仅仅是处理业务逻辑的地方,当然也是处理异常的地方。所以,我更推崇的做法是:

    (1)实现都放在 Service 里面去做,业务逻辑 + 处理异常

    (2)Controller 中的方法应该最多只有两行代码:第一行记录下日志,第二行直接 return service.something

    但是,如果你所在的公司、业务线要求你那样做,你只能“服从安排”,何必做个另类呢?有些事自己知道就行了,你的优良做法、性能提升也许在别人眼中都是 -- 矫揉造作!


    我是勤一,致力于将这门课程的问答区打造为 Java 知识体系知识库,Java 知识体系 BBS!共同建造、维护这门课程,我需要每一个你!

1 回复 有任何疑惑可以回复我~
  • 提问者 骑着猪找未来 #1
    一哥,还有一个问题,业务代码中的dao层操作,假如运行的时候数据库突然有了异常,插入数据查询数据产生异常了,那我们在写的时候,要用try catch 把这个数据库操作包起来吗
    回复 有任何疑惑可以回复我~ 2020-09-21 12:04:55
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信