用运行时异常替换检查的异常? [英] Replace a checked exception with a runtime exception?
问题描述
try {
file.read();
} catch(IOException e){
throw new RuntimeException(e);
}
这样做有几个缺点,但最令我激怒的一个我的运行时异常会包含一个嵌套的堆栈跟踪。基本上我想重新抛出IOException作为RuntimeException(或IORuntimeException)与原始消息和stacktrace,所以我可以避免无用的嵌套堆栈跟踪。在中间的某个地方重新抛出异常的事实似乎对我来说只是无用的噪音。
这可能吗?有没有图书馆这样做?
项目龙目岛允许您完全禁用检查的例外。
Given that I basically want to eliminate checked exception usage and transform them to runtime exceptions, I would normally be doing something like this:
try {
file.read();
} catch (IOException e){
throw new RuntimeException(e);
}
There are several disadvantages to doing this, but the one that irritates me the most is that my runtime exception would contain a nested stacktrace. Basically I would like to re-throw the "IOException" as a RuntimeException (or "IORuntimeException") with the original message and stacktrace, so I can avoid the useless nested stacktrace. The "fact" that I have re-thrown the exception somewhere in the middle seems like just useless noise to me.
Is this possible ? Is there any library that does this ?
Project Lombok allows you to disable checked exceptions altogether.
这篇关于用运行时异常替换检查的异常?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!