/** * get the messages back to it's origin cause. */ @Override public String getMessage() { String retval = Const.CR; retval += super.getMessage() + Const.CR; Throwable cause = getCause(); if ( cause != null ) { String message = cause.getMessage(); if ( message != null ) { retval += message + Const.CR; } else { // Add with stack trace elements of cause... StackTraceElement[] ste = cause.getStackTrace(); for ( int i = ste.length - 1; i >= 0; i-- ) { retval += " at " + ste[i].getClassName() + "." + ste[i].getMethodName() + " (" + ste[i].getFileName() + ":" + ste[i].getLineNumber() + ")" + Const.CR; } } } return retval; }