• 请不要在回答技术问题时复制粘贴 AI 生成的内容
jry
V2EX  ›  程序员

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

  •  
  •   jry · Jun 22, 2019 · 2577 views
    This topic created in 2538 days ago, the information mentioned may be changed or developed.

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

    3 replies    2019-06-23 15:51:07 +08:00
    mocyx
        1
    mocyx  
       Jun 22, 2019
    没有定论
    具体问题具体分析
    chendy
        2
    chendy  
       Jun 22, 2019
    具体情况具体分析 +1
    xiaoidea
        3
    xiaoidea  
       Jun 23, 2019
    我说下自己的理解,对后端开发也不是很熟,交流一下:
    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 的,还得看具体情况
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1004 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 806ms · UTC 22:08 · PVG 06:08 · LAX 15:08 · JFK 18:08
    ♥ Do have faith in what you're doing.