1 25 package org.snipsnap.exception; 26 27 import org.radeox.util.logging.Logger; 28 29 35 public class ChainedException extends Exception { 36 private Throwable cause = null; 37 38 public ChainedException() { 39 super(); 40 } 41 42 public ChainedException(String message) { 43 super(message); 44 } 45 46 public ChainedException(String message, Throwable cause) { 47 super(message); 48 this.cause = cause; 49 } 50 51 public Throwable getCause() { 52 return cause; 53 } 54 55 public void printStackTrace() { 56 super.printStackTrace(); 57 if (cause != null) { 58 Logger.debug("Caused by:"); 59 cause.printStackTrace(); 60 } 61 } 62 63 public void printStackTrace(java.io.PrintStream ps) { 64 super.printStackTrace(ps); 65 if (cause != null) { 66 ps.println("Caused by:"); 67 cause.printStackTrace(ps); 68 } 69 } 70 71 public void printStackTrace(java.io.PrintWriter pw) { 72 super.printStackTrace(pw); 73 if (cause != null) { 74 pw.println("Caused by:"); 75 cause.printStackTrace(pw); 76 } 77 } 78 79 } 80 | Popular Tags |