重複の可能性:
例外またはエラーコード
エラーコードを使用するのが適切なのはいつですか。
Cなどの言語で使用されているエラーコードをいつ使用する必要があるのか、いつ例外を使用するのか疑問に思っています。次の例を考えてみましょう。getData()関数は、成功した場合はデータの文字列を返し、そうでない場合はエラーメッセージを返す必要があります。エラーをどのように報告する必要がありますか?例外またはエラーメッセージとして?
public int fo(arguments) {
//some code
String data = "";
String errMsg = "";
boolean rc = getData(arguments, data, errMsg);
// do something based on the results of getData()
// and report error messages in case of errors
}
次の実装についてどう思いますか。
boolean getData(some arguments, String data, String errorMessage){
{
//check arguments for null pointers or invalid values and return error
//message
errorMessage = "Invalid Arguments";
return false;
}
{
//check for other errors
errorMessage = "Some Error";
return false;
}
// no error, return valid data
data = "some valid data";
return true;
}
私の知る限り、フロー制御に例外を使用するべきではありません。エラーコードと例外の適切な使用についてコメントしていただけますか?