【发布时间】:2012-06-08 06:47:07
【问题描述】:
鉴于我基本上想消除检查异常的使用并将它们转换为运行时异常,我通常会这样做:
try {
file.read();
} catch (IOException e){
throw new RuntimeException(e);
}
这样做有几个缺点,但最让我恼火的是我的运行时异常会包含嵌套的堆栈跟踪。基本上我想用原始消息和堆栈跟踪重新抛出“IOException”作为 RuntimeException(或“IORuntimeException”),这样我就可以避免无用的嵌套堆栈跟踪。我在中间某处重新抛出异常的“事实”对我来说似乎只是无用的噪音。
这可能吗?有没有这样做的图书馆?
【问题讨论】:
-
this 有用吗?
-
如果你对嵌套的堆栈跟踪感到恼火,你会讨厌大多数倾向于广泛使用它们的框架和库。如果我是你,我会习惯的。
-
@KazekageGaara,很好。如果您将其发布为答案,我会赞成。
-
@artbristol 我知道,但我可以尽自己的一份力量来尽量减少问题并避免 400 行堆栈跟踪。