2017-11-03 7 views
0
public static void readInput(String str) { 
    char firstChar = str.charAt(0); 
    if(!isAlphabet(firstChar)) 
     //throw exception 

    //continue process 
} 

最初の文字はASCIIアルファベット(65-122)内にある必要があります。これにはIllegalArguementExceptionを投げるべきですか?文字列入力パラメータの最初の文字が期待どおりでないときにスローする例外はありますか?

+0

これは合理的な対応です。それはあなた次第です。 – shmosel

+0

それはあなた次第です。 'FirstCharacterIsntWhatIExpectedException'はありません – stdunbar

+0

@stdunbarしかし、OPは1つを書くことができます! :) –

答えて

1

例外処理は、正しく行うには本当に難しいです。

  • これを処理して回復できる場合は、チェックされた例外をスローしてください。その後、それを処理します。
  • 処理できない場合は、チェックされていない例外をスローします。あなたのプログラムはおそらく停止/クラッシュします。プログラム全体でと一致する
  • となります。メソッドが明示的に記述され、特定の状況で例外がスローされることを明確に記述しているAPIを使用することは非常に楽しいことです。

IllegalArgumentExceptionは、RuntimeExceptionから継承されるため、未チェックの例外です。引数が無効である場合に使用します。状況は回復できませんでした(つまり、新しい有効な引数をユーザーに求めることはできません)。私がプロンプトから入力を受け取っていた場合は、チェック例外をスローしてキャッチし、ユーザーに新しい入力を促すことができます。

関連する問題