All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.nofdev.http.ExceptionUtil Maven / Gradle / Ivy

package org.nofdev.http;

import groovy.transform.CompileStatic;
import org.nofdev.servicefacade.AbstractBusinessException;
import org.nofdev.servicefacade.ExceptionMessage;

import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;

/**
 * Created by liuyang on 2014/6/11.
 */
@CompileStatic
public class ExceptionUtil {

    public static Boolean isExistClass(String name) {
        Boolean flag = false;
        try {
            Class cl = Class.forName(name);
            flag = true;
        } catch (Exception e) {
        }
        return flag;
    }

    public static Throwable getThrowableInstance(String name, String msg) {
        try {
            Class cl = Class.forName(name);
            Class[] params = {String.class};
            Constructor constructor = cl.getConstructor(params);
            return (Throwable) constructor.newInstance(new Object[]{msg});
        } catch (Exception e) {
            e.printStackTrace();
            return e;
        }
    }

    public static Throwable getThrowableInstance(ExceptionMessage exceptionMessage) throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException {
        Class cl = Class.forName(exceptionMessage.getName());
        Class[] params = {String.class};
        Constructor constructor = cl.getConstructor(params);
        Throwable throwable = (Throwable) constructor.newInstance(new Object[]{exceptionMessage.getMsg()});
        if (throwable instanceof AbstractBusinessException) {
            ((AbstractBusinessException) throwable).setDatail(exceptionMessage.getDatail());
        }
        return throwable;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy