Pergunta

Como imprimir o rastreamento de pilha completa de exceção usando um modelo de velocidade

O meu modelo atual tem US $ exceção como variável de modelo, que contém a exceção.

Foi útil?

Solução

Em velocidade isto é como eu resolveu este problema.

#foreach ($i in [1..3])     
   #if($exception.Cause)
           #set($exception = $exception.Cause)
           #foreach($stack in $exception.getStackTrace())
               $stack.toString()
           #end     
    #end
#end

Outras dicas

No caso de você deseja exibir o traço na saída você poderia envolver a avaliar método dentro try-catch-finally bloco. Na captura escrever o rastreamento de pilha ou apenas a mensagem da exceção ao escritor. No finalmente seção apenas liberar o escritor.

Algo como isso se me lembro bem:

StringWriter w = new StringWriter();
try {
    Velocity.evaluate( context, w, "mystring", s );
} catch (Exceptions... e)
    w.write(e.getMessage());
} finally {
    w.flush();
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top