これはインタビューの質問です。
次の状況のうち、例外をスローする必要があるのはどれですか? あなたの推論を説明してください。
(1) 誰かが PackingBox の容量を負の値に設定しようとしています。
(2) オブジェクトが初期状態を設定するために使用する構成ファイルに構文エラーが見つかりました。
(3)文字列配列でプログラマ指定の単語を検索するメソッドで、その単語の出現箇所が見つかりません。
" しかし、自分のプログラム内から無効なデータを取得した場合は、例外をスローしないでください。問題が自分の悪いコードに起因する場合は、ASSERT を使用してそれを防ぐことをお勧めします。例外処理は、問題を特定するために必要です。ユーザーはそれらを処理できるため、プログラムは処理できず、ユーザーについて通知することはできません。」
(1) 入力はユーザーからのものであるため、例外を使用する必要があります。プログラム内部からのエラーではありません。
(2)と(3)はプログラム内部からの例外なので使用しないでください。そして、ユーザーはそれを助けることができません。したがって、「assert」または「if」ブランチを使用して、プログラム自体でエラーを処理する必要があります。
右 ?
どんな助けでも大歓迎です。
ありがとう !