01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17:
18: package java.lang;
19:
20: /**
21: * This exception is thrown when a classloader is unable to find a class.
22: */
23: public class ClassNotFoundException extends Exception {
24:
25: private static final long serialVersionUID = 9176873029745254542L;
26:
27: private Throwable ex;
28:
29: /**
30: * Constructs a new instance of this class with its walkback filled in.
31: */
32: public ClassNotFoundException() {
33: super ((Throwable) null);
34: }
35:
36: /**
37: * Constructs a new instance of this class with its walkback and message
38: * filled in.
39: *
40: * @param detailMessage
41: * String The detail message for the exception.
42: */
43: public ClassNotFoundException(String detailMessage) {
44: super (detailMessage, null);
45: }
46:
47: /**
48: * Constructs a new instance of this class with its walkback, message and
49: * exception filled in.
50: *
51: * @param detailMessage
52: * String The detail message for the exception.
53: * @param exception
54: * Throwable The exception which occurred while loading the
55: * class.
56: */
57: public ClassNotFoundException(String detailMessage,
58: Throwable exception) {
59: super (detailMessage);
60: ex = exception;
61: }
62:
63: /**
64: * Answers the exception which occurred when loading the class.
65: *
66: * @return Throwable The exception which occurred while loading the class.
67: */
68: public Throwable getException() {
69: return ex;
70: }
71:
72: /**
73: * Answers the cause of this Throwable, or null if there is no cause.
74: *
75: * @return Throwable The receiver's cause.
76: */
77: @Override
78: public Throwable getCause() {
79: return ex;
80: }
81: }
|