0

有什么方法可以避免在 Java 的方法接口中声明“抛出”的需要?

问题是:我有一个非常简单的方法,它会抛出 NPE。这很简单,我添加了所有可能的检查,坦率地说无法想象这是怎么发生的,所以我想调查一下。我在日志中添加了 try/catch(Throwable e),最后想重新抛出。

这需要我添加“抛出”声明。但是这个方法是接口的实现,所以我还需要更新接口,然后是所有其他实现,然后是一些(可能很多)用法。真的没有办法避免这种情况吗?我目前要做的是在 catch 结束时导致本机异常:通过访问 null 或除以 0 - 这看起来太恶心了!

4

1 回答 1

2

如果您不在乎保留原始异常,则可以抛出 aRuntimeException并将原始异常包装在其中。RuntimeException并且派生的异常是未经检查的,不需要列出。如果需要保留原始异常,则必须调整throws子句。

于 2013-12-12T17:48:54.593 回答