首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

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

  •  
  •   jry · 118 天前 · 945 次点击
    这是一个创建于 118 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    3 回复  |  直到 2019-06-23 15:51:07 +08:00
        1
    mocyx   118 天前
    没有定论
    具体问题具体分析
        2
    chendy   118 天前
    具体情况具体分析 +1
        3
    xiaoidea   117 天前
    我说下自己的理解,对后端开发也不是很熟,交流一下:
    1. controller 不应该抛出异常,所有 controller 提供的接口都把异常 catch 住,可以通过 @ControllerAdvice[email protected], rest 接口返回的结果用状态码标识是否异常
    2. service 层可以把 checked exception 转换为 runtime exception,这样如果 service 有多层函数调用,不需要每层都处理异常,反正最外层有 controller 统一处理异常了
    没太明白你说的 model 和 function 是什么意思,“是不是普通公共 function 不应该抛出异常直接 return?”,如果是公共 function 类似 util 工具的话,我觉得抛出异常是很正常的,参考 guava 里的各种工具类,有在校验参数时抛出 runtime exception 的,也有抛出 checked exception 的,还得看具体情况
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2309 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 21ms · UTC 12:22 · PVG 20:22 · LAX 05:22 · JFK 08:22
    ♥ Do have faith in what you're doing.