枚举错误代码

时间:2014-10-01 23:36:21

标签: java error-handling enums

我正在编写客户端 - 服务器应用程序。现在我只是在做错误处理。如果服务器发生错误(来自客户端的请求之后),服务器应该创建一个错误对象,将其序列化并发送给客户端。

在错误对象中,我有一个错误代码字段。当然,我可以在这个对象中放置一个枚举,列出我想要覆盖的所有可能的错误,但随后序列化的对象变得很大。

因此,我正在考虑为服务器和客户端编写可用的外部枚举类,并且只将错误代码从服务器发送到客户端。

这会是一个好主意吗?

如果客户端收到这样的错误代码,他怎么能在枚举类中查找相应的枚举?

1 个答案:

答案 0 :(得分:2)

只需发送您在枚举中定义的错误代码:

public enum ErrorCode {
    OK(0), KO(1);
    // ...
}

public class Error implements Serializable {
    private int code;
    private String message;
    // ...
}

public void myMethod() {
    // ...
    // something went bad!
    InternalError ie = getMyInternalErrorSomehow();
    Error error = new Error(ie.getErrorCode().getCode(), 
              "something bad happened and i am sending you a nice message");
    client.send(error);
}