设计方法错误代码的最佳做法是什么?
what's the best practice to design an error code of a method?
由于本人实际编程经验不多,不知道如何设计method/function的错误码。例如,在java中有一个方法-string foo(int arg1, string arg2),方法return一个可以为空的字符串,很难找到一个特殊的字符串作为错误代码,如果该方法可以 return 任何上下文的字符串。如果方法是RPC方法,就不可能用exception来处理error。那么在这种情况下,设计方法的错误代码的最佳实践是什么?
首先,如果是错误,使用Exception
,对于a/0
等意外的使用RuntimeException
,否则检查异常。
其次,您可以使用 包装器。例如,
class SomeWrapper{
boolean isSuccess;
String value;
}
那么方法可以SomeWrapper foo(...)
因为你不能使用异常,在 C++ 中,你可以 boost::optional。
那么你的方法就变成了:
boost::optional<std::string> foo(int arg1, std::string arg2);
由于本人实际编程经验不多,不知道如何设计method/function的错误码。例如,在java中有一个方法-string foo(int arg1, string arg2),方法return一个可以为空的字符串,很难找到一个特殊的字符串作为错误代码,如果该方法可以 return 任何上下文的字符串。如果方法是RPC方法,就不可能用exception来处理error。那么在这种情况下,设计方法的错误代码的最佳实践是什么?
首先,如果是错误,使用Exception
,对于a/0
等意外的使用RuntimeException
,否则检查异常。
其次,您可以使用 包装器。例如,
class SomeWrapper{
boolean isSuccess;
String value;
}
那么方法可以SomeWrapper foo(...)
因为你不能使用异常,在 C++ 中,你可以 boost::optional。
那么你的方法就变成了:
boost::optional<std::string> foo(int arg1, std::string arg2);