[Mulgara-svn] r1661 - trunk/src/jar/util/java/org/mulgara/util
pag at mulgara.org
pag at mulgara.org
Mon Apr 6 17:51:01 UTC 2009
Author: pag
Date: 2009-04-06 10:51:00 -0700 (Mon, 06 Apr 2009)
New Revision: 1661
Modified:
trunk/src/jar/util/java/org/mulgara/util/StackTrace.java
Log:
Added cause chaining when printing the stack trace of a Throwable
Modified: trunk/src/jar/util/java/org/mulgara/util/StackTrace.java
===================================================================
--- trunk/src/jar/util/java/org/mulgara/util/StackTrace.java 2009-04-06 17:49:55 UTC (rev 1660)
+++ trunk/src/jar/util/java/org/mulgara/util/StackTrace.java 2009-04-06 17:51:00 UTC (rev 1661)
@@ -91,9 +91,21 @@
private String getStringTrace() {
StringBuilder b = new StringBuilder("STACK TRACE:\n");
StackTraceElement[] stack = throwable.getStackTrace();
- for (int level = offset; level < stack.length; level ++) {
+ for (int level = offset; level < stack.length; level++) {
b.append(" ").append(stack[level].toString()).append("\n");
}
+ Throwable reason = throwable.getCause();
+ while (reason != null) {
+ b.append(" Caused by:");
+ b.append(reason.getClass().toString());
+ b.append(": ");
+ b.append(reason.getMessage());
+ stack = reason.getStackTrace();
+ for (int level = 0; level < stack.length; level++) {
+ b.append(" ").append(stack[level].toString()).append("\n");
+ }
+ reason = reason.getCause();
+ }
return b.toString();
}
More information about the Mulgara-svn
mailing list