1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * 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 org.apache.commons.logging;
19
20
21 /**
22 * <p>An exception that is thrown only if a suitable <code>LogFactory</code>
23 * or <code>Log</code> instance cannot be created by the corresponding
24 * factory methods.</p>
25 *
26 * @author Craig R. McClanahan
27 * @version $Revision: 424107 $ $Date: 2006-07-21 01:15:42 +0200 (fr, 21 jul 2006) $
28 */
29
30 public class LogConfigurationException extends RuntimeException {
31
32
33 /**
34 * Construct a new exception with <code>null</code> as its detail message.
35 */
36 public LogConfigurationException() {
37
38 super();
39
40 }
41
42
43 /**
44 * Construct a new exception with the specified detail message.
45 *
46 * @param message The detail message
47 */
48 public LogConfigurationException(String message) {
49
50 super(message);
51
52 }
53
54
55 /**
56 * Construct a new exception with the specified cause and a derived
57 * detail message.
58 *
59 * @param cause The underlying cause
60 */
61 public LogConfigurationException(Throwable cause) {
62
63 this((cause == null) ? null : cause.toString(), cause);
64
65 }
66
67
68 /**
69 * Construct a new exception with the specified detail message and cause.
70 *
71 * @param message The detail message
72 * @param cause The underlying cause
73 */
74 public LogConfigurationException(String message, Throwable cause) {
75
76 super(message + " (Caused by " + cause + ")");
77 this.cause = cause; // Two-argument version requires JDK 1.4 or later
78
79 }
80
81
82 /**
83 * The underlying cause of this exception.
84 */
85 protected Throwable cause = null;
86
87
88 /**
89 * Return the underlying cause of this exception (if any).
90 */
91 public Throwable getCause() {
92
93 return (this.cause);
94
95 }
96
97
98 }