35

Groovy スクリプトを時期尚早に残す最善の方法は何ですか?

Groovy スクリプトは、特定の情報ファイルから行を読み取り、検証が失敗した場合 (データの一貫性がない)、スクリプトが途中でフローを終了する必要がある場合に、いくつかの検証作業を行います。次に、システムはスクリプトを再度呼び出して、同じ情報ファイルの次の行を読み取ります

コード例:

 read a row
 try{
   //make some verification here
 }catch(Exception e){
    logger("exception on something occurred "+e,e)
    //here need to leave a groovy script prematurely
 }
4

4 に答える 4

30

returnスクリプトだけでできると確信しています。

于 2012-09-20T02:59:39.287 に答える
28

を使用するだけSystem.exit(0)です。

try {
    // code
} catch(Exception e) {
    logger("exception on something occurred "+e,e)
    System.exit(0)
}

終了ステータス コードを使用して、問題が発生した行を示すことができます。

ゼロの値はすべてが正常であることを示し、正の値は行番号になります。次に、Groovy スクリプトに開始行を入力パラメーターとして使用させることができます。


これは単純な実装であり、行が空の場合はばかげた例外があります。

file = new File(args[0])
startLine = args[1].toInteger()

file.withReader { reader ->
    reader.eachLine { line, count ->
        try {
            if (count >= startLine) {
                if (line.length() == 0) throw new Exception("error")
                println count + ': ' + line
            }
        } catch (Exception ignore) {
            System.exit(count)
        }
    }
}
于 2012-09-12T11:18:59.630 に答える
2

単純に return を使用します:

 read a row
 try{
  //make some verification here
 }catch(Exception e){
   logger("exception on something occurred "+e,e)
   //here need to leave a groovy script prematurely
   return
 }
于 2016-12-16T13:22:57.653 に答える