jbiao520
V2EX  ›  Java

请教个 Java 的 catch exception 的问题

By jbiao520 at 2018 年 11 月 1 日 · 3061 次点击

今天在整理公司代码的时候发现有一些逻辑中如下,照理说 ERROR 是不应该被 catch 的,但是总感觉有点蹊跷,想问问各位有没有遇到类似情况。

catch (Exception | Error e) {
	这里的逻辑主要是收集这些 exception 的 msg 到一个容器。
}
9 条回复  •  2018-11-01 16:05:10 +08:00
Raymon111111
   1
Raymon111111  
   2018 年 11 月 1 日
error 不 catch 你咋知道是啥 error?
Raymon111111
   2
Raymon111111  
   2018 年 11 月 1 日
啊 看错了 说的是 Error 啊
gaius
   3
gaius  
   2018 年 11 月 1 日
为了 error 后能继续运行?
szq8014
   4
szq8014  
   2018 年 11 月 1 日
看里面具体的代码逻辑,有些 naive 代码异常后直接扔 Error 导致“异常”直接就抛到 catch 外面去了,出现不可控的结局。直接 catch Error 肯定也是无奈的选择,这样 catch 就可以和 Exception 及 Error 都谈笑风声了
lsongiu
   5
lsongiu  
   2018 年 11 月 1 日
黑猫白猫,抓到耗子就是好猫
jbiao520
   6
jbiao520  
OP
   2018 年 11 月 1 日
@szq8014
大都是一些拉取数据的行为,不过具体逻辑还没仔细看,比较复杂,等有空了看看原因
SoloCompany
   7
SoloCompany  
   2018 年 11 月 1 日 via iPhone
通常的写法是 catch Throwable
existuser
   8
existuser  
   2018 年 11 月 1 日
catch 连 Error 它爹 Throwable 能能抓住哦,很厉害滴
lihongjie0209
   9
lihongjie0209  
   2018 年 11 月 1 日
要看你在 try 代码块中调用的方法有没有抛出 error 的, 说不定用了什么第三方的库, 乱抛 Error 呢
© 2026 V2EX · 31ms · 3.9.8.5