在flex项目中进行异常处理,并将错误信息国际化显示给客户
在flex端不需要进行try catch处理,try catch在后端进行,我的处理方式是这样的:
1.在后台定义异常类SystemException.java,代码如下:
/**
* 系统异常处理类
*/
public class SystemException extends RuntimeException {
private static final long serialVersionUID = 2293897900102583273L;
//错误码,此错误定义在前台flex的中英文 i18n_exception.properties文件中,不可重复,前台根据此错误码进行国际化显示
private String key;
//异常信息中的参数值
private String[] values;
/**
* 默认构造器
*/
public SystemException() {
super();
}
/**
* 不带key的构造器,视为系统异常
* @param message
*/
public SystemException(String message){
super(message);
}
/**
* 具体信息的异常
* @param key 错误码
* @param message 错误消息
*/
public SystemException(String key,String message) {
super(message);
this.key = key;
}
/**
* 具体信息的异常且提供参数值
* @param key 错误码
* @param values 参数值
* @param message 错误消息
*/
public SystemException(String key,String[] values,String message) {
super(message);
this.key = key;
this.values = values;
}
public SystemException(String message, Throwable cause) {
super(message, cause);
}
public SystemException(Throwable cause) {
super(cause);
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String[] getValues() {
return values;
}
public void setValues(String[] values) {
this.values = values;
}
}
2.后台使用方式参考:
throw new SystemException("1001",new String[]{"deng"},"save order fail");, 其中1001为错误吗,"save order fail",其实就是
打印在日志文件中的错误信息"