public static String getErrorMessage(final DrillPBError error, final boolean verbose) {
String finalMessage = null;
ExceptionWrapper ex = error.getException();
StringBuilder sb = new StringBuilder();
sb //
.append("[ ") //
.append(error.getErrorId()) //
.append(" on ")
.append(error.getEndpoint().getAddress())
.append(":").append(error.getEndpoint().getUserPort())
.append(" ]\n");
boolean cause = false;
while(ex != null){
if(ex.hasMessage()){
finalMessage = ex.getMessage();
}
if(verbose){
sb.append(" ");
if(cause){
sb.append("Caused By ");
}
sb.append("(");
sb.append(ex.getExceptionClass());
sb.append(") ");
sb.append(ex.getMessage());
sb.append("\n");
for(int i = 0; i < ex.getStackTraceCount(); i++){
StackTraceElementWrapper st = ex.getStackTrace(i);
sb.append(" ");
sb.append(st.getClassName());
sb.append('.');
sb.append(st.getMethodName());
sb.append("():");
sb.append(st.getLineNumber());
sb.append("\n");
}
cause = true;
}
ex = ex.hasCause() ? ex.getCause() : null;
}
StringBuilder msg = new StringBuilder();