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;

    }

}