我想讓用戶提供一個Groovy類是一個文件選擇器關閉,我傳給AntBuilder的「複製」任務屬性:測試空常閉合?
class Foo {
def ANT = { fileset(dir:'/tmp/tmp1') }
}
在我的代碼
,我拿起ANT財產「FANT」和傳遞到Ant:
ant.copy(todir:'/tmp/tmp2', fAnt)
這工作 - 但是,如果用戶通過在一個空的封閉件(DEF ANT = {}),或與一種選擇器,不選擇任何東西(也許文件集目錄不存在),那麼它爆炸了。我嘗試用try-catch來捕獲InvokerInvocationException,但不知何故,異常通過反正......當我跟蹤它時,有沒有辦法將groovy Closure的內容讀回爲字符串,或者測試它是否爲空?