Exception 应该在 service、model、controller、function 哪些里面使用呢?

2019-06-22 13:21:32 +08:00
 jry

是不是普通公共 function 不应该抛出异常直接 return?

1789 次点击
所在节点    程序员
3 条回复
mocyx
2019-06-22 13:57:26 +08:00
没有定论
具体问题具体分析
chendy
2019-06-22 17:35:38 +08:00
具体情况具体分析 +1
xiaoidea
2019-06-23 15:51:07 +08:00
我说下自己的理解,对后端开发也不是很熟,交流一下:
1. controller 不应该抛出异常,所有 controller 提供的接口都把异常 catch 住,可以通过 @ControllerAdvice+@ExceptionHandler, rest 接口返回的结果用状态码标识是否异常
2. service 层可以把 checked exception 转换为 runtime exception,这样如果 service 有多层函数调用,不需要每层都处理异常,反正最外层有 controller 统一处理异常了
没太明白你说的 model 和 function 是什么意思,“是不是普通公共 function 不应该抛出异常直接 return?”,如果是公共 function 类似 util 工具的话,我觉得抛出异常是很正常的,参考 guava 里的各种工具类,有在校验参数时抛出 runtime exception 的,也有抛出 checked exception 的,还得看具体情况

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

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

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

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

© 2021 V2EX