异常应该在 controller 统一处理还是在 service 处理?

2020-08-07 14:02:59 +08:00
 Vimax

如果不包含事务,则将异常在 service 中直接处理。 如果 service 中包含事务则将异常抛到 controller 处理。

有更好的异常处理方法吗?

处理 service 中包含事务,抛过来的异常

service 异常,如果有事务抛到 controller;没有事务则直接则处理异常

manger 异常抛到 service

4270 次点击
所在节点    Java
13 条回复
wangyanrui
2020-08-07 14:17:20 +08:00
看起来像是 Java 系?@ControllerAdvice 可解
JRay
2020-08-07 14:22:17 +08:00
我是直接全局处理的...
Tokiomi
2020-08-07 14:23:22 +08:00
反正最外层,微服务的话有可能没有 controller
Jonz
2020-08-07 14:25:04 +08:00
全局异常捕获处理
mccreefei
2020-08-07 15:05:29 +08:00
业务感兴趣的异常自己 catch,否则全局 ControllerAdvice 处理
qwerthhusn
2020-08-07 15:31:44 +08:00
Controller 和 Service 全程无视异常,用 Interceptor 处理,ControllerAdvice 也行
unco020511
2020-08-07 17:19:57 +08:00
不都是全局处理吗
Troevil
2020-08-07 17:21:22 +08:00
统一收集,然后分发异常处理
Kontinue
2020-08-07 17:22:19 +08:00
代码异常自己处理,业务异常全局处理
jimmyismagic
2020-08-07 19:35:10 +08:00
ExceptionHandler 吧,搞不定的尽管扔出去
daimubai
2020-08-07 23:47:11 +08:00
自定义异常,然后 throw,全局处理
iyangyuan
2020-08-08 18:28:38 +08:00
感兴趣的捕获,不感兴趣的忽略交给全局
simonlu9
2020-08-09 21:31:51 +08:00
统一异常,然后全局处理,第三方库的异常自己觉得不影响业务功能可以在调用时候 catch 掉,然后 log 日志,我现在是这么干的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/696455

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX