1 /*
2 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
3 *
4 * This code is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License version 2 only, as
6 * published by the Free Software Foundation. Sun designates this
7 * particular file as subject to the "Classpath" exception as provided
8 * by Sun in the LICENSE file that accompanied this code.
9 *
10 * This code is distributed in the hope that it will be useful, but WITHOUT
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 * version 2 for more details (a copy is included in the LICENSE file that
14 * accompanied this code).
15 *
16 * You should have received a copy of the GNU General Public License version
17 * 2 along with this work; if not, write to the Free Software Foundation,
18 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
19 *
20 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
21 * CA 95054 USA or visit www.sun.com if you need additional information or
22 * have any questions.
23 */
24
25 /*
26 * Copyright (c) 2003 by BEA Systems, Inc. All Rights Reserved.
27 */
28
29 package javax.xml.stream;
30
31 /**
32 * The base exception for unexpected processing errors. This Exception
33 * class is used to report well-formedness errors as well as unexpected
34 * processing conditions.
35 * @author Copyright (c) 2003 by BEA Systems. All Rights Reserved.
36 * @since 1.6
37 */
38 public class XMLStreamException extends Exception {
39
40 protected Throwable nested;
41 protected Location location;
42
43 /**
44 * Default constructor
45 */
46 public XMLStreamException(){
47 super();
48 }
49
50 /**
51 * Construct an exception with the assocated message.
52 *
53 * @param msg the message to report
54 */
55 public XMLStreamException(String msg) {
56 super(msg);
57 }
58
59 /**
60 * Construct an exception with the assocated exception
61 *
62 * @param th a nested exception
63 */
64 public XMLStreamException(Throwable th) {
65 super(th);
66 nested = th;
67 }
68
69 /**
70 * Construct an exception with the assocated message and exception
71 *
72 * @param th a nested exception
73 * @param msg the message to report
74 */
75 public XMLStreamException(String msg, Throwable th) {
76 super(msg, th);
77 nested = th;
78 }
79
80 /**
81 * Construct an exception with the assocated message, exception and location.
82 *
83 * @param th a nested exception
84 * @param msg the message to report
85 * @param location the location of the error
86 */
87 public XMLStreamException(String msg, Location location, Throwable th) {
88 super("ParseError at [row,col]:["+location.getLineNumber()+","+
89 location.getColumnNumber()+"]\n"+
90 "Message: "+msg);
91 nested = th;
92 this.location = location;
93 }
94
95 /**
96 * Construct an exception with the assocated message, exception and location.
97 *
98 * @param msg the message to report
99 * @param location the location of the error
100 */
101 public XMLStreamException(String msg,
102 Location location) {
103 super("ParseError at [row,col]:["+location.getLineNumber()+","+
104 location.getColumnNumber()+"]\n"+
105 "Message: "+msg);
106 this.location = location;
107 }
108
109
110 /**
111 * Gets the nested exception.
112 *
113 * @return Nested exception
114 */
115 public Throwable getNestedException() {
116 return nested;
117 }
118
119 /**
120 * Gets the location of the exception
121 *
122 * @return the location of the exception, may be null if none is available
123 */
124 public Location getLocation() {
125 return location;
126 }
127
128 }