V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
GeekHub
Vimax
V2EX  ›  Java

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

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

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

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

    • controller

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

    • service

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

    • manager

    manger 异常抛到 service

    • mapper
    13 条回复    2020-08-09 21:31:51 +08:00
    wangyanrui
        1
    wangyanrui   52 天前   ❤️ 1
    看起来像是 Java 系?@ControllerAdvice 可解
    JRay
        2
    JRay   52 天前
    我是直接全局处理的...
    Tokiomi
        3
    Tokiomi   52 天前
    反正最外层,微服务的话有可能没有 controller
    Jonz
        4
    Jonz   52 天前
    全局异常捕获处理
    mccreefei
        5
    mccreefei   52 天前
    业务感兴趣的异常自己 catch,否则全局 ControllerAdvice 处理
    qwerthhusn
        6
    qwerthhusn   52 天前
    Controller 和 Service 全程无视异常,用 Interceptor 处理,ControllerAdvice 也行
    unco020511
        7
    unco020511   52 天前
    不都是全局处理吗
    Troevil
        8
    Troevil   52 天前
    统一收集,然后分发异常处理
    Kontinue
        9
    Kontinue   52 天前
    代码异常自己处理,业务异常全局处理
    jimmyismagic
        10
    jimmyismagic   52 天前
    ExceptionHandler 吧,搞不定的尽管扔出去
    daimubai
        11
    daimubai   52 天前
    自定义异常,然后 throw,全局处理
    iyangyuan
        12
    iyangyuan   51 天前 via iPhone
    感兴趣的捕获,不感兴趣的忽略交给全局
    simonlu9
        13
    simonlu9   50 天前
    统一异常,然后全局处理,第三方库的异常自己觉得不影响业务功能可以在调用时候 catch 掉,然后 log 日志,我现在是这么干的
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   982 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 22:03 · PVG 06:03 · LAX 15:03 · JFK 18:03
    ♥ Do have faith in what you're doing.