10 October 2013

TxnValException "Failed to validate all rows in a transaction"

Muchos habrán visto ya el mensaje despúes de hacer un commit y se habrán quedado con cara de poker, es muy poco explícito y es allí donde muchos empiezan a indagar donde esta el fallo; por suerte este contiene el listado completo con los errores encontrados.
StringBuffer msg = new StringBuffer();
Throwable[] exceptions = txnValException.getExceptions();
for(Throwable e : exceptions){
    JboException je = (JboException)e;
    msg.append( je.getMessage() );
    Throwable[] nes = je.getExceptions();
    for(Throwable ne : nes){
        msg.append(" (").append(ne.getMessage()).append(") ");
    }
    msg.append( "\r\n" );
}
System.out.println(msg.toString());

Ahora bien, un ejercicio interesante es ver el API de cada tipo de excepción que contiene, ya que tiene la información sobre la que la fila y sus atributos que han originado el error.

- FIN -

No comments: