KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > mchange > lang > PotentiallySecondaryException


1 /*
2  * Distributed as part of c3p0 v.0.9.1
3  *
4  * Copyright (C) 2005 Machinery For Change, Inc.
5  *
6  * Author: Steve Waldman <swaldman@mchange.com>
7  *
8  * This library is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU Lesser General Public License version 2.1, as
10  * published by the Free Software Foundation.
11  *
12  * This software is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public License
18  * along with this software; see the file LICENSE. If not, write to the
19  * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
20  * Boston, MA 02111-1307, USA.
21  */

22
23
24 package com.mchange.lang;
25
26 import java.io.*;
27 import com.mchange.v2.lang.VersionUtils;
28
29 /**
30  * @deprecated jdk 1.4 mow includes this idea as part of the standard
31  * Throwable/Exception classes.
32  */

33 public class PotentiallySecondaryException extends Exception JavaDoc implements PotentiallySecondary
34 {
35     final static String JavaDoc NESTED_MSG = ">>>>>>>>>> NESTED EXCEPTION >>>>>>>>";
36
37     Throwable JavaDoc nested;
38
39     public PotentiallySecondaryException(String JavaDoc msg, Throwable JavaDoc t)
40     {
41     super(msg);
42     this.nested = t;
43     }
44
45     public PotentiallySecondaryException(Throwable JavaDoc t)
46     {this("", t);}
47
48     public PotentiallySecondaryException(String JavaDoc msg)
49     {this(msg, null);}
50
51     public PotentiallySecondaryException()
52     {this("", null);}
53
54     public Throwable JavaDoc getNestedThrowable()
55     {return nested;}
56
57     private void setNested(Throwable JavaDoc t)
58     {
59     this.nested = t;
60     if ( VersionUtils.isAtLeastJavaVersion14() )
61         this.initCause( t );
62     }
63
64     public void printStackTrace(PrintWriter pw)
65     {
66     super.printStackTrace(pw);
67     if ( !VersionUtils.isAtLeastJavaVersion14() && nested != null)
68         {
69         pw.println(NESTED_MSG);
70         nested.printStackTrace(pw);
71         }
72     }
73
74     public void printStackTrace(PrintStream ps)
75     {
76     super.printStackTrace(ps);
77     if ( !VersionUtils.isAtLeastJavaVersion14() && nested != null)
78         {
79         ps.println("NESTED_MSG");
80         nested.printStackTrace(ps);
81         }
82     }
83
84     public void printStackTrace()
85     {
86     if ( VersionUtils.isAtLeastJavaVersion14() )
87         super.printStackTrace();
88     else
89         this.printStackTrace(System.err);
90     }
91 }
92
Popular Tags