001 /*
002 @license.text@
003 */
004 package biz.hammurapi.sql;
005
006 import java.io.PrintStream;
007 import java.io.PrintWriter;
008 import java.sql.SQLException;
009
010 /**
011 * @author Pavel Vlasov
012 * @revision $Revision$
013 */
014 public class SQLExceptionEx extends SQLException {
015 private Throwable cause;
016
017 public Throwable getCause() {
018 return cause;
019 }
020
021 public SQLExceptionEx() {
022 super();
023 }
024
025 public SQLExceptionEx(String message) {
026 super(message);
027 }
028
029 public SQLExceptionEx(String message, Throwable cause) {
030 super(message);
031 this.cause=cause;
032 }
033
034 public SQLExceptionEx(Throwable cause) {
035 super("Caused by: "+cause);
036 this.cause=cause;
037 }
038
039 public void printStackTrace() {
040 super.printStackTrace();
041 if (cause!=null) {
042 System.err.println("=== NESTED EXCEPTION ===");
043 cause.printStackTrace();
044 }
045 }
046
047 public void printStackTrace(PrintWriter p) {
048 super.printStackTrace(p);
049 if (cause!=null) {
050 p.println("=== NESTED EXCEPTION ===");
051 cause.printStackTrace(p);
052 }
053 }
054
055 public void printStackTrace(PrintStream p) {
056 super.printStackTrace(p);
057 if (cause!=null) {
058 p.println("=== NESTED EXCEPTION ===");
059 cause.printStackTrace(p);
060 }
061 }
062
063 }