异常应该在 controller 统一处理还是在 service 处理? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Vimax
V2EX    Java

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

  •  1
     
  •   Vimax Aug 7, 2020 4994 views
    This topic created in 2097 days ago, the information mentioned may be changed or developed.

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

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

    • controller

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

    • service

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

    • manager

    manger 异常抛到 service

    • mapper
    13 replies    2020-08-09 21:31:51 +08:00
    wangyanrui
        1
    wangyanrui  
       Aug 7, 2020   1
    看起来像是 Java 系?@ControllerAdvice 可解
    JRay
        2
    JRay  
       Aug 7, 2020
    我是直接全局处理的...
    Tokiomi
        3
    Tokiomi  
       Aug 7, 2020
    反正最外层,微服务的话有可能没有 controller
    Jonz
        4
    Jonz  
       Aug 7, 2020
    全局异常捕获处理
    mccreefei
        5
    mccreefei  
       Aug 7, 2020
    业务感兴趣的异常自己 catch,否则全局 ControllerAdvice 处理
    qwerthhusn
        6
    qwerthhusn  
       Aug 7, 2020
    Controller 和 Service 全程无视异常,用 Interceptor 处理,ControllerAdvice 也行
    unco020511
        7
    unco020511  
       Aug 7, 2020
    不都是全局处理吗
    Troevil
        8
    Troevil  
       Aug 7, 2020
    统一收集,然后分发异常处理
    Kontinue
        9
    Kontinue  
       Aug 7, 2020
    代码异常自己处理,业务异常全局处理
    jimmyismagic
        10
    jimmyismagic  
       Aug 7, 2020
    ExceptionHandler 吧,搞不定的尽管扔出去
    daimubai
        11
    daimubai  
       Aug 7, 2020
    自定义异常,然后 throw,全局处理
    iyangyuan
        12
    iyangyuan  
       Aug 8, 2020 via iPhone
    感兴趣的捕获,不感兴趣的忽略交给全局
    simonlu9
        13
    simonlu9  
       Aug 9, 2020
    统一异常,然后全局处理,第三方库的异常自己觉得不影响业务功能可以在调用时候 catch 掉,然后 log 日志,我现在是这么干的
    About     Help     Advertise     Blog     API     FAQ     Solana     3848 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 87ms UTC 04:32 PVG 12:32 LAX 21:32 JFK 00:32
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86