各位大佬,日常代码里你会主动使用 try catch 么? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
myzyq
V2EX    程序员

各位大佬,日常代码里你会主动使用 try catch 么?

  •  
      myzyq 2020-09-23 10:42:19 +08:00 5706 次点击
    这是一个创建于 1849 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,日常开发中,如果处理不好,try catch 可能会让一些错误信息无法直接显现。

    但是相对能保证程序继续执行下去,不会中断。

    所以开发过程中,你会主动使用么?

    29 条回复    2020-09-24 17:14:42 +08:00
    jx915
        1
    jx915  
       2020-09-23 10:45:09 +08:00
    会呀,不过用的不多,一些可能影响程序执行的会,把错误打印出来就行了。
    ben1024
        2
    ben1024  
       2020-09-23 10:48:14 +08:00   1
    全局捕获异常,内部方法直接抛出异常,在最外层统一处理异常输出
    netnr
        3
    netnr  
       2020-09-23 10:54:17 +08:00
    调接口或写接口 标配,其它的地方很少用
    chendy
        4
    chendy  
       2020-09-23 11:10:39 +08:00
    工具类常用,把 checked exception 转成 unchecked exception
    opengps
        5
    opengps  
       2020-09-23 11:26:21 +08:00   1
    调用第三方的必须用
    14v45mJPBYJW8dT7
        6
    14v45mJPBYJW8dT7  
       2020-09-23 11:27:02 +08:00   5
    if err != nil {
    // 斜眼笑
    }
    linvaux
        7
    linvaux  
       2020-09-23 11:30:35 +08:00 via iPhone
    @rimutuyuan 小同志,看来是写 go 的啊
    feidao158
        8
    feidao158  
       2020-09-23 11:44:44 +08:00
    ControllerAdvice ExceptionHandler
    fansangg
        9
    fansangg  
       2020-09-23 11:49:21 +08:00
    无法保证结果的,会,比如解析 html
    NVDA
        10
    NVDA  
       2020-09-23 11:59:24 +08:00 via iPhone
    我们的 metrics 要在 try catch 里面...
    iFlicker
        11
    iFlicker  
       2020-09-23 12:13:11 +08:00 via Android
    把 exception 打印上报呀
    yuqiangabab
        12
    yuqiangabab  
       2020-09-23 14:55:45 +08:00
    能使用好 trycatch 是作为程序员进阶的必备技能
    KarlChen2015
        13
    KarlChen2015  
       2020-09-23 15:53:43 +08:00
    trycatch 主要用来打异常日志
    nanjingwuyanzu
        14
    nanjingwuyanzu  
       2020-09-23 15:54:51 +08:00
    一般提示我用才用笑哭
    heiheidewo
        15
    heiheidewo  
       2020-09-23 16:00:18 +08:00
    看到用 try-catch 的 c++代码就会在心里骂
    runningman007
        16
    runningman007  
       2020-09-23 16:07:27 +08:00
    非用不可才会用
    GrayXu
        17
    GrayXu  
       2020-09-23 18:04:40 +08:00 via Android
    说明你不抛出错误,或没用过抛出错误的包
    gy0624ww
        18
    gy0624ww  
       2020-09-23 18:07:56 +08:00
    想用 没有,只能默默每行 if err !=nil
    iyangyuan
        19
    iyangyuan  
       2020-09-23 18:55:45 +08:00 via iPhone
    还行
    dltsgl
        20
    dltsgl  
       2020-09-23 19:29:49 +08:00 via Android
    见笑了,我的代码里全是。。。
    goodboy95
        21
    goodboy95  
       2020-09-23 19:50:08 +08:00
    try catch 也不一定就是为了让程序带病继续跑,我的 try catch 经常是为了在原始错误信息里面加辅助信息,如果光靠记日志的话怕不知道哪条日志对应故障。
    Varobjs
        22
    Varobjs  
       2020-09-23 19:51:53 +08:00
    @ben1024 +1

    ----------------------------------------
    全局捕获异常,内部方法直接抛出异常,在最外层统一处理异常输出
    th00000
        23
    th00000  
       2020-09-23 19:52:32 +08:00   1
    一些条件下必须用, 比如关闭 io 资源, 事务回滚等
    JeffGe
        24
    JeffGe  
       2020-09-23 20:19:01 +08:00 via Android
    try catch log rethrow
    GBdG6clg2Jy17ua5
        25
    GBdG6clg2Jy17ua5  
       2020-09-23 22:13:32 +08:00 via iPhone
    Java web 开发,用这个比较少,基本全局的
    KHfqLAYYS6BKJT3R
        26
    KHfqLAYYS6BKJT3R  
       2020-09-23 22:16:50 +08:00
    打印日志,定位错误
    justseemore
        27
    justseemore  
       2020-09-24 09:45:56 +08:00
    wiken
        28
    wiken  
       2020-09-24 15:03:07 +08:00
    需要的时候就用呗
    hugedata
        29
    hugedata  
       2020-09-24 17:14:42 +08:00
    我代码里的 try - catch 满屏都是……
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2637 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 44ms UTC 15:06 PVG 23:06 LAX 08:06 JFK 11:06
    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