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 }