当前位置:  开发笔记 > 编程语言 > 正文

捕获几个异常并重新抛出一般异常

如何解决《捕获几个异常并重新抛出一般异常》经验,为你挑选了1个好方法。

我正在使用反射将一些数据添加到来自第三方库的类中的私有变量.一路上有大约四种不同的例外可以抛出; 所有这些都与反思有关,而且所有这些都不太可能发生.我正在硬编码所涉及的类和变量的名称.我不太可能收到任何未找到的类或未找到字段的错误,除非该库有一天升级并且已经发生了显着变化.

我宁愿不为我的调用者声明所有这四个异常来处理.他可能永远不会见到他们.我想抓住所有这些并抛出另一个例外,说"发生了Java反射错误;可能是库已经以与此方法不兼容的方式升级和更改了." 是否存在我可以抛出的标准Java异常,它表示只是一般反射错误?我应该定义自己的吗?或者最好只声明这个方法可以抛出所有可能的反射异常?



1> matt b..:

我经常问自己这些问题:

是否可以调用此方法以不同方式处理这些不同的异常类型?

......或者他们会一直对待他们吗?

呼叫者/用户甚至可以从此错误中恢复吗?

如果调用代码可能会将所有这四个异常都视为相同(作为一个不可恢复的错误),那么捕获每个异常并重新抛出更一般的(单个)异常绝对是有意义的.如果这样做,请确保将生成的异常作为内部异常附加,以帮助进行另一端的任何调试或故障排除.

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有