📄 bwayexception.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 + -