これはおそらく基本的な質問であり、コードでよりよく説明されています。
public void checkStatus {
int status = UNKNOWN;
if (somecondition) {
status = STATUS_UP;
} elseif (someothercondition) {
status = STATUS_DOWN;
}
}
したがって、問題は、定義上、STATUSに影響を与える可能性のあるすべての条件を把握しておらず、ステータスローカル変数を初期化しないことによってコンパイラが「未定義」エラーをスローすることを望まなかったことです。
結論として、私のアプリはステータスがUNKNOWNに設定されていると動作しません。コンパイラをシャットダウンするように設定しただけです。
質問:これにエレガントにアプローチするにはどうすればよいですか。ステータスがまだUNKNOWNに設定されている場合、メソッドの最後に致命的な例外をスローすることを検討しましたが、それは少し「醜い」と感じます。
ありがとうございました。