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

时间:2017-12-28 15:40:07

标签: file groovy exception-handling

我的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
    }
}

1 个答案:

答案 0 :(得分:0)

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

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

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