| PersistenceException.java |
1 /*
2 * PersistenceException.java
3 *
4 * Copyright (c) 1998-2004, The University of Sheffield.
5 *
6 * This file is part of GATE (see http://gate.ac.uk/), and is free
7 * software, licenced under the GNU Library General Public License,
8 * Version 2, June 1991 (in the distribution as file licence.html,
9 * and also available at http://gate.ac.uk/gate/licence.html).
10 *
11 * Hamish Cunningham, 19/Jan/2001
12 *
13 * $Id: PersistenceException.java,v 1.4 2004/07/21 17:10:08 akshay Exp $
14 */
15
16 package gate.persist;
17
18 import gate.util.GateException;
19
20 /** This exception indicates failure during persistence operations.
21 */
22 public class PersistenceException extends GateException {
23 /** Debug flag */
24 private static final boolean DEBUG = false;
25
26 /** Default construction */
27 public PersistenceException() { super(); }
28
29 /** Construction from string */
30 public PersistenceException(String s) { super(s); }
31
32 /** Construction from exception */
33 public PersistenceException(Exception e) {
34 super(e.toString());
35 this.exception = e;
36 }
37
38 /**
39 * Overridden so we can print the enclosed exception's stacktrace too.
40 */
41 public void printStackTrace(){
42 printStackTrace(System.err);
43 }
44
45 /**
46 * Overridden so we can print the enclosed exception's stacktrace too.
47 */
48 public void printStackTrace(java.io.PrintStream s) {
49 s.flush();
50 super.printStackTrace(s);
51 s.print(" Caused by:\n");
52 if(exception != null) exception.printStackTrace(s);
53 }
54
55 /**
56 * Overridden so we can print the enclosed exception's stacktrace too.
57 */
58 public void printStackTrace(java.io.PrintWriter s) {
59 s.flush();
60 super.printStackTrace(s);
61 s.print(" Caused by:\n");
62 if(exception != null) exception.printStackTrace(s);
63 }
64
65 Exception exception = null;
66 } // PersistenceException
67