⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bwayexception.java

📁 这是本人曾经在公司里用的,内部开发框架,基于struts+hibernate今天分享给大家
💻 JAVA
字号:
/**
 * 
 */
package cn.bway.common;

import java.text.MessageFormat;
import java.util.Locale;
import java.util.ResourceBundle;

import javax.servlet.http.HttpServletRequest;

import org.apache.log4j.Logger;

/**
 * @author Kson
 *
 */
public class BwayException extends Exception {

    private Exception exception;

//    private final static String errorCaption = AppModelBase.COMMONALITYAPPSOURCEPATH;
    
    private final static String errorCaption = "Bway default Error";

    private final static String errorIdKey = "";
    
    private String key = null;
    
    private String[] errorParameter = null;
    
    private String appSource = null;

    private static Logger logger = Logger.getLogger(BwayException.class);

    //  private Logger log = LogManager.getLogger(EpsException.class);

    public BwayException(Exception exception) {
        if (exception == null) {
            logger
                    .error("method EpsException(Exception exception) of EpsException's parameter exception is null");
            this.exception = new Exception(
                    "method EpsException(Exception exception) of EpsException's parameter exception is null");
            return;
        }
        this.exception = exception;
    }

    public BwayException(String errors[]) {
        String errorInfo = "";
        if (errors == null) {
            logger
                    .error("method EpsException(String errors[]) of EpsException's parameter errors is null");
            this.exception = new Exception(
                    "method EpsException(String errors[]) of EpsException's parameter errors is null");
            return;
        }
        for (int i = 0; i < errors.length; i++) {
            errorInfo += "errorInfo" + i + ":" + errors[i] + ";\n";
        }
        exception = new Exception(errorInfo);
    }
    
    public BwayException(String key,String appSource,String[] errorParameter)
    {
        this.key = key;
        this.appSource = appSource;
        this.errorParameter = errorParameter;
    }

    public BwayException(String error) {
        if (error == null) {
            logger
                    .error("method EpsException(String errors) of EpsException's parameter error is null");
            this.exception = new Exception(
                    "method EpsException(String errors) of EpsException's parameter error is null");
            return;
        }
        exception = new Exception(error);
    }

    public void printExceptionInfo() {
        if (exception == null) {
            logger.error("EpsException's private field exception is null");
        } else {
//            logger.info(Internation.getStringByKey(errorIdKey, null,
//                    errorCaption));
            logger.error(exception.getMessage());
            exception.printStackTrace();
        }
    }

    public String getErrorMessageInfo() {
        if (exception == null) {
            logger.error("EpsException's private field exception is null");
            return "EpsException's private field exception is null";
        } else {
            return exception.getMessage();
        }
    }
    
    public String getInternationErrorInfo(HttpServletRequest request)
    {
        Locale locale = null;
        String errorInfo = null;
        MessageFormat msgFmt = new MessageFormat("");
        ResourceBundle bundle = null;
        /*//2005-12-6修改
          if(key == null)
        {
            logger.info("EpsException's private field key is null");   
            key = "epsexception.error";
            errorParameter = new String[]{"error.detail"};
            appSource = errorCaption;    
        }
        if(appSource == null)
        {
            appSource = errorCaption;
        }
        if(request == null)
        {
            locale = Locale.CHINESE;
        }
        else
        {
            locale = Internation.getTrueLocale(request);   
        }
        try    
        {
	        bundle = ResourceBundle.getBundle(appSource,locale); 
	        errorInfo = bundle.getString(key);
	        if(errorParameter != null)
	        {
	            msgFmt.applyPattern(errorInfo);
	            errorInfo = msgFmt.format(errorParameter);
	        }
        }//2005-12-6修改
         */
        if(request == null)
        {
            locale = Locale.CHINESE;
        }
        else
        {
//            locale = Internation.getTrueLocale(request);   
        }
        if(key == null)
        {
            logger.info("EpsException's private field key is null");   
            key = "epsexception.error";
            appSource = errorCaption;  
            bundle = ResourceBundle.getBundle(appSource,locale);
            errorParameter = new String[]{bundle.getString("error.detail")};
              
        }
        if(appSource == null)
        {
            appSource = errorCaption;
        }
        try    
        {
	        bundle = ResourceBundle.getBundle(appSource,locale); 
	        errorInfo = bundle.getString(key);
	        if(errorParameter != null)
	        {
	            msgFmt.applyPattern(errorInfo);
	            errorInfo = msgFmt.format(errorParameter);
	        }
        }
        catch(Exception ex)
        {
            ex.printStackTrace();
            bundle = ResourceBundle.getBundle(errorCaption,locale); 
	        errorInfo = bundle.getString("epsexception.error"); 
	        errorParameter = new String[]{"(" + ex.getMessage() + ")"};
	        errorInfo = msgFmt.format(errorParameter);
        }
        return errorInfo;
    }
    
    public String getInternationErrorInfo(HttpServletRequest request,boolean configParameter)
    {
        Locale locale = null;
        String errorInfo = null;
        MessageFormat msgFmt = new MessageFormat("");
        ResourceBundle bundle = null;
        if(key == null)
        {
            logger.error("EpsException's private field key is null");
            key = "epsexception.error";
            errorParameter = new String[]{"(error.detail)"};
            appSource = errorCaption;    
        }
        if(appSource == null)
        {
            appSource = errorCaption;
        }
        if(request == null)
        {
            locale = Locale.CHINESE;
        }
        else
        {
//            locale = Internation.getTrueLocale(request);   
        }  
        try
        {
	        bundle = ResourceBundle.getBundle(appSource,locale); 
	        errorInfo = bundle.getString(key);
	        if(errorParameter != null && configParameter)
	        {
	            for(int i = 0;i < errorParameter.length;i++)
	            {
	                errorParameter[i] = bundle.getString(errorParameter[i]);
	            }
	            msgFmt.applyPattern(errorInfo);
	            errorInfo = msgFmt.format(errorParameter);
	        }
        }
        catch(Exception ex)
        {
            ex.printStackTrace();
            bundle = ResourceBundle.getBundle(errorCaption,locale); 
	        errorInfo = bundle.getString("epsexception.error"); 
	        errorParameter = new String[]{"(" + ex.getMessage() + ")"};
	        errorInfo = msgFmt.format(errorParameter);
        }
        return errorInfo;
    }
    
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -