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

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

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

这是个好主意吗?

如果客户端收到这样的错误代码,他如何在enum类中查找对应的enum?

最佳答案

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

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);
}

关于java - 列举错误代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26152348/

10-10 18:09
查看更多