我正在编写客户端 - 服务器应用程序。现在我只是在做错误处理。如果服务器发生错误(来自客户端的请求之后),服务器应该创建一个错误对象,将其序列化并发送给客户端。
在错误对象中,我有一个错误代码字段。当然,我可以在这个对象中放置一个枚举,列出我想要覆盖的所有可能的错误,但随后序列化的对象变得很大。
因此,我正在考虑为服务器和客户端编写可用的外部枚举类,并且只将错误代码从服务器发送到客户端。
这会是一个好主意吗?
如果客户端收到这样的错误代码,他怎么能在枚举类中查找相应的枚举?
答案 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);
}