weidy
2023-06-09 732d631affb839337efc7e99ef58f60fe0d48914
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/exception/VciBaseException.java
@@ -10,6 +10,8 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.text.MessageFormat;
public class VciBaseException extends RuntimeException {
@@ -72,6 +74,36 @@
      }
   }
   /**
    * 获取异常信息
    * @param e 异常对象
    * @return 异常对象上的所有内容
    */
   public static String getErrorMsgByE(Throwable e){
      if(e == null){
         return "未知错误";
      }
      if( e.getClass()!= null && e.getClass().getSuperclass()!= null &&
         (e.getClass().getSuperclass().equals(RuntimeException.class)
            || e.getClass().getSuperclass().getName().endsWith(".VciBaseException")
            || e.getClass().getName().endsWith(".VciBaseException"))){
         //说明是我们自定义的异常类
         try {
            Method errorMethod = e.getClass().getMethod("getErrorMsg");
            if(errorMethod != null ){
               return (String)errorMethod.invoke(e);
            }
         } catch (NoSuchMethodException e1) {
            return e.getMessage();
         } catch (IllegalAccessException e1) {
            return e.getMessage();
         } catch (InvocationTargetException e1) {
            return e.getMessage();
         }
      }
      return e.getMessage();
   }
   @Override
   public String getMessage() {
      return this.getCode() + "," + this.getErrorMsg();