采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
一哥,图1是工程里的controller层的大概模板,都是这样new一个响应类来返回给前端,下面两张是我写的,封装了一个统一响应类,领导说我写的没有抛出异常,要向他们一样在controller抛出异常,我听着大概意思应该是数据库操作的时候万一有异常的场景,请问一哥,我这个代码存在这方面的问题吗,应该怎样改造。(项目里没做全局异常处理,所以错误返回我也是直接通过响应类来处理了)
骑猪大佬你好:
怎么说呢,我没有办法评价你所写的模板代码,但就我个人对代码和工程业务的理解,这样的写法显得多余而且丑陋,大量的样板代码(为什么不使用统一的异常捕获去拦截处理呢?)
另外,在 Controller 层中捕获异常的意义是什么呢?Service 不仅仅是处理业务逻辑的地方,当然也是处理异常的地方。所以,我更推崇的做法是:
(1)实现都放在 Service 里面去做,业务逻辑 + 处理异常
(2)Controller 中的方法应该最多只有两行代码:第一行记录下日志,第二行直接 return service.something
但是,如果你所在的公司、业务线要求你那样做,你只能“服从安排”,何必做个另类呢?有些事自己知道就行了,你的优良做法、性能提升也许在别人眼中都是 -- 矫揉造作!
我是勤一,致力于将这门课程的问答区打造为 Java 知识体系知识库,Java 知识体系 BBS!共同建造、维护这门课程,我需要每一个你!
一哥,还有一个问题,业务代码中的dao层操作,假如运行的时候数据库突然有了异常,插入数据查询数据产生异常了,那我们在写的时候,要用try catch 把这个数据库操作包起来吗
登录后可查看更多问答,登录/注册
掌握业务开发中各种类型的坑,,Java web开发领域通用
1.7k 4
1.2k 3
1.0k 12
1.0k 2
1.7k 3