有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我能找到Groovy代码块中可能抛出的所有(已检查的)异常吗?

我正在对一个Groovy应用程序进行维护,该应用程序的错误处理显然不符合标准—到处都是catch (Exception e) {}的无数实例。我想实现更细粒度的异常处理,但为了实现这一点,我需要知道给定的处理程序块可以捕获哪些异常——而且由于Groovy不遵循Java的检查异常规则,这是非常重要的

如果我有一个强大的应用程序测试平台,我只需删除所有的处理程序,然后测试它,直到我有一个全面的列表,它可以倒下-但不幸的是,这段代码是一个相当混乱的分布式应用程序的一部分,主要存在于生产中,并且依赖于定制硬件,因此,为它创建一个测试平台是一项比我目前拥有的资源要大得多的任务

因此,我想知道是否有任何快捷方式(甚至是具有正确魔力的特定IDE)可以让我分析代码并获得给定语句可能抛出的所有可能异常的列表


共 (1) 个答案

  1. # 1 楼答案

    如果您可以假设catch (Exception ex) {}的所有实例都放在那里,因为它们是从Java代码移植的(当程序员懒得处理它们时)程序员从来没有打算让流继续,那么您应该能够用以下代码替换该代码的所有实例:

    catch (Exception ex) {
      throw new RuntimeException(ex);
    }
    

    如果不这样做,我不知道在不知道代码库应该如何工作(或进行知道它应该如何工作的测试)的情况下,如何有效地更改代码库。即使有一个工具可以列举所有可能的已检查异常,在不知道应用程序将以何种方式崩溃的情况下,您如何知道要处理哪些异常以及要重新抛出哪些异常