ErrorCode列挙タイプは、エラーコード情報テストを返し、例外情報を手動で放出し、トランザクションでエラーコードに基づいてトランザクションをロールバックする考え方を示します.
5504 ワード
ErrorCode.JAvaはコードを簡単にテストし、具体的な応用構想:手動で異常情報を投げ出し、トランザクションの中でエラーコードに基づいてトランザクションの構想をロールバックする.
public enum ErrorCode {
//
SUCCESS("000000","success"),
SYS_ERROR("999999"," "),
FAILED("900000"," !"),
//
OWNER_NOT_EXIST("500002"," ( ) "),
;
private String code;
private String text;
private ErrorCode(String code, String text) {
this.code = code;
this.text = text;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public static void main(String[] args) {
ErrorCode error = ErrorCode.FAILED;
try {
error = testFun(100); // 。
} catch (Exception e) {
System.err.println("e: " + e);
String errorMsg = e.getMessage();
System.err.println("errorMsg: " + errorMsg);
System.err.println("errorMsg2: " + e.getLocalizedMessage());
if(errorMsg != null){
String[] msg = errorMsg.split(",");
if(msg != null && msg.length > 0){
ErrorCode.SYS_ERROR.setCode(msg[0]);
ErrorCode.SYS_ERROR.setText(msg[1]);
}
}
//
error = ErrorCode.SYS_ERROR;
System.err.println("code: " + error.getCode() );
System.err.println("text: " + error.getText() );
}
}
private static ErrorCode testFun(int i) throws Exception {
System.err.println(" :" + i);
ErrorCode error = ErrorCode.OWNER_NOT_EXIST;
String errorMsg = error.getCode() + "," + error.getText(); // 。
throw new Exception(errorMsg); // 。
// throw new Exception(); // 。
//return null;
}
}