01: /*
02: * @(#)JMSException.java 1.15 02/04/09
03: *
04: * Copyright 1997-2002 Sun Microsystems, Inc. All Rights Reserved.
05: *
06: * SUN PROPRIETARY/CONFIDENTIAL.
07: * This software is the proprietary information of Sun Microsystems, Inc.
08: * Use is subject to license terms.
09: *
10: */
11:
12: package javax.jms;
13:
14: /**
15: * <P>This is the root class of all JMS API exceptions.
16: *
17: * <P>It provides the following information:
18: * <UL>
19: * <LI> A provider-specific string describing the error. This string is
20: * the standard exception message and is available via the
21: * <CODE>getMessage</CODE> method.
22: * <LI> A provider-specific string error code
23: * <LI> A reference to another exception. Often a JMS API exception will
24: * be the result of a lower-level problem. If appropriate, this
25: * lower-level exception can be linked to the JMS API exception.
26: * </UL>
27: * @version 1.0 - 5 Oct 1998
28: * @author Mark Hapner
29: * @author Rich Burridge
30: **/
31:
32: public class JMSException extends Exception {
33:
34: /** Vendor-specific error code.
35: **/
36: private String errorCode;
37:
38: /** <CODE>Exception</CODE> reference.
39: **/
40: private Exception linkedException;
41:
42: /** Constructs a <CODE>JMSException</CODE> with the specified reason and
43: * error code.
44: *
45: * @param reason a description of the exception
46: * @param errorCode a string specifying the vendor-specific
47: * error code
48: **/
49: public JMSException(String reason, String errorCode) {
50: super (reason);
51: this .errorCode = errorCode;
52: linkedException = null;
53: }
54:
55: /** Constructs a <CODE>JMSException</CODE> with the specified reason and with
56: * the error code defaulting to null.
57: *
58: * @param reason a description of the exception
59: **/
60: public JMSException(String reason) {
61: super (reason);
62: this .errorCode = null;
63: linkedException = null;
64: }
65:
66: /** Gets the vendor-specific error code.
67: * @return a string specifying the vendor-specific
68: * error code
69: **/
70: public String getErrorCode() {
71: return this .errorCode;
72: }
73:
74: /**
75: * Gets the exception linked to this one.
76: *
77: * @return the linked <CODE>Exception</CODE>, null if none
78: **/
79: public Exception getLinkedException() {
80: return (linkedException);
81: }
82:
83: /**
84: * Adds a linked <CODE>Exception</CODE>.
85: *
86: * @param ex the linked <CODE>Exception</CODE>
87: **/
88: public synchronized void setLinkedException(Exception ex) {
89: linkedException = ex;
90: }
91: }
|