用运行时异常替换检查的异常? [英] Replace a checked exception with a runtime exception?

查看:126
本文介绍了用运行时异常替换检查的异常?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

鉴于我基本上想要消除检查的异常使用并将其转换为运行时异常,我通常会这样做:

  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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆