1 /*
2  * Copyright 2002-2006 the original author or authors.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package org.springframework.beans;
18 
19 /**
20  * Exception thrown when instantiation of a bean failed.
21  * Carries the offending bean class.
22  *
23  * @author Juergen Hoeller
24  * @since 1.2.8
25  */
26 public class BeanInstantiationException extends FatalBeanException {
27 
28 	private Class beanClass;
29 
30 
31 	/**
32 	 * Create a new BeanInstantiationException.
33 	 * @param beanClass the offending bean class
34 	 * @param msg the detail message
35 	 */
BeanInstantiationException(Class beanClass, String msg)36 	public BeanInstantiationException(Class beanClass, String msg) {
37 		this(beanClass, msg, null);
38 	}
39 
40 	/**
41 	 * Create a new BeanInstantiationException.
42 	 * @param beanClass the offending bean class
43 	 * @param msg the detail message
44 	 * @param cause the root cause
45 	 */
BeanInstantiationException(Class beanClass, String msg, Throwable cause)46 	public BeanInstantiationException(Class beanClass, String msg, Throwable cause) {
47 		super("Could not instantiate bean class [" + beanClass.getName() + "]: " + msg, cause);
48 		this.beanClass = beanClass;
49 	}
50 
51 	/**
52 	 * Return the offending bean class.
53 	 */
getBeanClass()54 	public Class getBeanClass() {
55 		return beanClass;
56 	}
57 
58 }
59