/*
 * Copyright (C) 2008 feilong
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *         http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.feilong.core.lang.reflect;

import com.feilong.tools.slf4j.Slf4jUtil;

//Exception又分为两类:一种是CheckedException,一种是UncheckedException.
//
//这两种Exception的区别主要是CheckedException需要用try...catch...显示的捕获,
//而UncheckedException不需要捕获. 通常UncheckedException又叫做RuntimeException.
//  
//《effective java》指出:
//  对于可恢复的条件使用被检查的异常(CheckedException),
//  对于程序错误(言外之意不可恢复,大错已经酿成)使用运行时异常(RuntimeException).

/**
 * 反射时出现的异常.
 *
 * @author <a href="http://feitianbenyue.iteye.com/">feilong</a>
 * @since 1.0.7
 */
public final class ReflectException extends RuntimeException{

    /** The Constant serialVersionUID. */
    private static final long serialVersionUID = -1699987643831455524L;

    /**
     * Instantiates a new reflect exception.
     */
    public ReflectException(){
        super();
    }

    /**
     * Instantiates a new reflect exception.
     * 
     * @param message
     *            the message
     */
    public ReflectException(String message){
        super(message);
    }

    /**
     * Instantiates a new reflect exception(支持slf4j格式写法).
     * 
     * @param messagePattern
     *            the message pattern
     * @param args
     *            the args
     */
    public ReflectException(String messagePattern, Object...args){
        super(Slf4jUtil.format(messagePattern, args));
    }

    /**
     * Instantiates a new reflect exception.
     * 
     * @param message
     *            the message
     * @param cause
     *            the cause
     */
    public ReflectException(String message, Throwable cause){
        super(message, cause);
    }

    /**
     * Instantiates a new reflect exception.
     * 
     * @param cause
     *            the cause
     */
    public ReflectException(Throwable cause){
        super(cause);
    }
}
@@ -636,1283 +636,289 @@
 t;%0A%0A
-import com.feilong.tools.slf4j.Slf4jUtil;%0A%0A//Exception%E5%8F%88%E5%88%86%E4%B8%BA%E4%B8%A4%E7%B1%BB:%E4%B8%80%E7%A7%8D%E6%98%AFCheckedException,%E4%B8%80%E7%A7%8D%E6%98%AFUncheckedException.%0A//%0A//%E8%BF%99%E4%B8%A4%E7%A7%8DException%E7%9A%84%E5%8C%BA%E5%88%AB%E4%B8%BB%E8%A6%81%E6%98%AFCheckedException%E9%9C%80%E8%A6%81%E7%94%A8try...catch...%E6%98%BE%E7%A4%BA%E7%9A%84%E6%8D%95%E8%8E%B7,%0A//%E8%80%8CUncheckedException%E4%B8%8D%E9%9C%80%E8%A6%81%E6%8D%95%E8%8E%B7. %E9%80%9A%E5%B8%B8UncheckedException%E5%8F%88%E5%8F%AB%E5%81%9ARuntimeException.%0A//  %0A//%E3%80%8Aeffective%C2%A0java%E3%80%8B%E6%8C%87%E5%87%BA:%0A//  %E5%AF%B9%E4%BA%8E%E5%8F%AF%E6%81%A2%E5%A4%8D%E7%9A%84%E6%9D%A1%E4%BB%B6%E4%BD%BF%E7%94%A8%E8%A2%AB%E6%A3%80%E6%9F%A5%E7%9A%84%E5%BC%82%E5%B8%B8(CheckedException),%0A//  %E5%AF%B9%E4%BA%8E%E7%A8%8B%E5%BA%8F%E9%94%99%E8%AF%AF(%E8%A8%80%E5%A4%96%E4%B9%8B%E6%84%8F%E4%B8%8D%E5%8F%AF%E6%81%A2%E5%A4%8D,%E5%A4%A7%E9%94%99%E5%B7%B2%E7%BB%8F%E9%85%BF%E6%88%90)%E4%BD%BF%E7%94%A8%E8%BF%90%E8%A1%8C%E6%97%B6%E5%BC%82%E5%B8%B8(RuntimeException).%0A%0A/**%0A * %E5%8F%8D%E5%B0%84%E6%97%B6%E5%87%BA%E7%8E%B0%E7%9A%84%E5%BC%82%E5%B8%B8.%0A *%0A * @author %3Ca href=%22http://feitianbenyue.iteye.com/%22%3Efeilong%3C/a%3E%0A * @since 1.0.7%0A */%0Apublic final class ReflectException extends RuntimeException%7B%0A%0A    /** The Constant serialVersionUID. */%0A    private static final long serialVersionUID = -1699987643831455524L;%0A%0A    /**%0A     * Instantiates a new reflect exception.%0A     */%0A    public ReflectException()%7B%0A        super();%0A    %7D%0A%0A    /**%0A     * Instantiates a new reflect exception.%0A     * %0A     * @param message%0A     *            the message%0A     */%0A    public ReflectException(String message)%7B%0A        super(message);%0A    %7D%0A%0A    /**%0A     * Instantiates a new reflect exception(%E6%94%AF%E6%8C%81slf4j%E6%A0%BC%E5%BC%8F%E5%86%99%E6%B3%95).%0A     * %0A     * @param messagePattern%0A     *            the message pattern%0A     * @param args%0A     *            the args%0A     */%0A    public ReflectException(String messagePattern, Object...args)%7B%0A        super(Slf4jUtil.format(messagePattern, args));%0A    %7D
+/**%0A * %E5%8F%8D%E5%B0%84%E6%97%B6%E5%87%BA%E7%8E%B0%E7%9A%84%E5%BC%82%E5%B8%B8.%0A *%0A * @author %3Ca href=%22http://feitianbenyue.iteye.com/%22%3Efeilong%3C/a%3E%0A * @since 1.0.7%0A */%0Apublic final class ReflectException extends RuntimeException%7B%0A%0A    /** The Constant serialVersionUID. */%0A    private static final long serialVersionUID = -1699987643831455524L;
 %0A%0A  

remove ReflectException no use method