1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package tsukuba_bunko.peko.session;
20
21 import java.io.PrintStream;
22 import java.io.PrintWriter;
23
24
25 /***
26 * セーブが失敗したことを通知する例外です。
27 * @author $Author: ppoi $
28 * @version $Revision: 1.2 $
29 */
30 public class SaveFailureException extends Exception {
31
32 /***
33 * serial version UID
34 */
35 private static final long serialVersionUID = 1764861384183120318L;
36
37 /***
38 * 基になる例外オブジェクト
39 */
40 private Throwable _base = null;
41
42
43 /***
44 * <code>SaveFailureException</code> のインスタンスを作成します。
45 */
46 public SaveFailureException()
47 {
48 super();
49 }
50
51 /***
52 * <code>SaveFailureException</code> のインスタンスを作成します。
53 * @param message エラーメッセージ
54 */
55 public SaveFailureException( String message )
56 {
57 super( message );
58 }
59
60 /***
61 * <code>SaveFailureException</code> のインスタンスを作成します。
62 * @param e 基になる例外オブジェクト
63 */
64 public SaveFailureException( Throwable e )
65 {
66 super( e.getMessage() );
67 _base = e;
68 }
69
70 /***
71 * <code>SaveFailureException</code> のインスタンスを作成します。
72 * @param message エラーメッセージ
73 * @param e 基になる例外オブジェクト
74 */
75 public SaveFailureException( String message, Throwable e )
76 {
77 super( message );
78 _base = e;
79 }
80
81
82
83
84
85 public void printStackTrace()
86 {
87 super.printStackTrace();
88 if( _base != null ) {
89 System.err.println( "source exception: " + _base.getClass().getName() );
90 _base.printStackTrace();
91 }
92 }
93
94 public void printStackTrace( PrintStream ps )
95 {
96 super.printStackTrace( ps );
97 if( _base != null ) {
98 ps.println( "source exception: " + _base.getClass().getName() );
99 _base.printStackTrace( ps );
100 }
101 }
102
103 public void printStackTrace( PrintWriter pw )
104 {
105 super.printStackTrace();
106 if( _base != null ) {
107 pw.println( "source exception: " + _base.getClass().getName() );
108 _base.printStackTrace( pw );
109 }
110 }
111 }