2017-12-22 21 views
1

場合、スクリプトはありません持っているいくつかのコードを実行しません - 私は私に次のような出力を与え、次のコードを書いた句または類似

if(bodytoUpper.contains(currentfield)){ 
    int index = bodytoUpper.lastIndexOf(currentfield + "\n")//finds the last appearance of the field value 
    log.debug("Index try if Abfrage: ") 
    log.debug(index) 
    int nextindex = bodytoUpper.lastIndexOf(nextfield, index)//finds the index of the next field 
    log.debug("nextindex: ") 
    log.debug(nextindex) 
    value = currentbody.substring(index+currentfield.length(), nextindex);//sets the value to everything between the two indexes 
    log.debug("Rückgabewert: ") 
    log.debug(value) 
} 

その部分の出力は、次のログです:

2017-12-22 11:24:52,853 DEBUG [acme.CreateSubtask]: Index try if Abfrage: 
2017-12-22 11:24:52,853 DEBUG [acme.CreateSubtask]: 18 

問題は、いくつかのログが欠落しており(コードも実行されない)、エラーメッセージを出力しないことです。

+1

'nextfield'の値は何ですか?ログに例外がありますか? (/あなたは例外を飲み込んでいますか?) –

+0

次のフィールドは文字列 "STATUS"です。私はそれが本当にそれであることをテストしました。ログに例外はありません。 nextfieldを "STATUS"に置き換えても役に立たなかった。 –

答えて

0

あなたのスクリプトの目的はわかりませんが、私は最後の2回の出現の間にすべてを印刷すると思います。

私は問題はあなたが後方に向かっていることだと思うので、nextindexはBEFORE indexです。したがって、コードを次のように変更する必要があります。

value = currentbody.substring(nextindex+currentfield.length(), index); 
+0

なぜ前に行を記録しないのですか? 'log.debug(" nextindex: ")' –

+0

アイデアはありませんが、いくつかのデバッグが役に立ちます。私たちは入力を知りません。 – GregT

関連する問題