为什么groovy方法不打印该文件不存在?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么groovy方法不打印该文件不存在?相关的知识,希望对你有一定的参考价值。

我的groovy脚本有问题。我正在从registerFile读取内容,我想在找不到文件时捕获异常。不过,即使registerfile不存在,下面的函数也不会抛出异常,为什么?

我的代码片段:

def registerFile

static void main(def args) {
        Agent agent = new Agent()
        agent.findSmth()
    }

Agent() {
        registerFile = new File(/path/toFile) 
}

def findSmth() {
    def s
    try {
        def lines = registerFile.readLines()
        def numbers = lines.get(lines.size() - 1).findAll(/d+/)*.toInteger()
        s = numbers.get(numbers.size() - 1)
    } catch (Exception e) {
        println(e) //why not print that file doesn't exist?
    } finally {
        return s
    }
}
答案

我假设上面的代码在代理类中。

只要对不存在的文件执行操作,就会抛出异常;所以你的catch语句应该捕获异常。

您确定在您提到的路径中不存在此类文件吗?

以上是关于为什么groovy方法不打印该文件不存在?的主要内容,如果未能解决你的问题,请参考以下文章

如何在报表中插入自定义Groovy方法?

发现安全漏洞不扫描 groovy 文件

有人可以在快速数组中给出“如果不存在则追加”方法的片段吗?

java程序员为啥使用Groovy

File Exists() 方法查找 Eclipse Java 包中不存在的文件

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情