2

速度テンプレートを使用して例外の完全なスタック トレースを出力する方法

現在のテンプレートには、例外を含むテンプレート変数として $exception があります。

4

2 に答える 2

1

速度では、これが私がこの問題を解決した方法です。

#foreach ([1..3] の $i)     
   #if($exception.Cause)
           #set($exception = $exception.Cause)
           #foreach($stack in $exception.getStackTrace())
               $stack.toString()
           #終わり     
    #終わり
#終わり
于 2009-03-10T23:10:05.633 に答える
0

出力にトレースを表示したい場合は、評価メソッドを try-catch-finally ブロック内にラップできます。catch では、スタック トレースまたは例外のメッセージのみをライターに書き込みます。最終セクションでは、ライターをフラッシュするだけです。

私の記憶が正しければ、次のようなものです。

StringWriter w = new StringWriter();
try {
    Velocity.evaluate( context, w, "mystring", s );
} catch (Exceptions... e)
    w.write(e.getMessage());
} finally {
    w.flush();
}
于 2009-02-06T20:58:33.123 に答える