私はJavaでWebサービスを作成していて、エラーコードとそれに関連するエラー文字列を定義する最善の方法を見つけようとしています。数値エラーコードとエラー文字列をグループ化する必要があります。エラーコードとエラー文字列の両方が、Webサービスにアクセスするクライアントに送信されます。たとえば、SQLExceptionが発生した場合、次のようにすることができます。
// Example: errorCode = 1,
// errorString = "There was a problem accessing the database."
throw new SomeWebServiceException(errorCode, errorString);
クライアントプログラムに次のメッセージが表示される場合があります。
「エラー#1が発生しました:データベースへのアクセスに問題が発生しました。」
私の最初の考えはEnum
、エラーコードの1つを使用し、toString
メソッドをオーバーライドしてエラー文字列を返すことでした。これが私が思いついたものです:
public enum Errors {
DATABASE {
@Override
public String toString() {
return "A database error has occured.";
}
},
DUPLICATE_USER {
@Override
public String toString() {
return "This user already exists.";
}
},
// more errors follow
}
私の質問は、これを行うより良い方法はありますか?私は、外部ファイルから読み取るのではなく、コード内のソリューションを好みます。私はこのプロジェクトにJavadocを使用しています。エラーコードをインラインで文書化し、それらをドキュメント内で自動的に更新できると便利です。