我正在对一个Groovy应用程序进行维护,这个应用程序肯定有不合标准的错误处理 – 无数的catch实例(Exception e){}遍布整个地方.我想实现更细粒度的异常处理,但为了做到这一点,我需要知道给定的处理程序块可以捕获哪些异常 – 并且由于Groovy不遵循Java检查的异常规则,这是非常重要的.
如果我有一个强大的测试平台,我会删除所有的处理程序,然后测试它,直到我有一个全面的方法可以覆盖 – 但不幸的是这个代码是一个相当混乱的分布式应用程序的一部分,主要存在于生产,并依赖于自定义硬件,因此为它创建一个测试平台是一项比我目前拥有的资源更大的任务.
所以,我想知道是否有任何快捷方式(具有正确魔法的特定IDE,甚至),通过它我可以分析代码并获得给定语句可能抛出的所有可能异常的列表?
解决方法:
如果你可以假设catch的所有实例(Exception ex){}都被放在那里,因为它们是从Java代码移植的(当程序员懒得处理它们时)并且程序员从来没有打算继续流程,你应该只是能够用以下代码替换该代码的所有实例:
catch (Exception ex) {
throw new RuntimeException(ex);
}
如果没有这样做,我不知道如何在不知道它应该如何工作(或者让测试知道它应该如何工作)的情况下如何有效地改变代码库.即使有一个工具来枚举所有可能检查的异常,你怎么知道哪些要处理以及哪些重新抛出而不知道应用程序意图落空的方式?
原文地址:https://codeday.me/bug/20190709/1415038.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。