ホームページ >Java >&#&チュートリアル >try-catch ブロックで InputMismatchException を処理するときに無限ループを回避するにはどうすればよいですか?
InputMismatchException による try/catch 無限ループ問題
ユーザーに整数入力を求めるコードを実装する場合、try/catch ブロックを利用すると、一般的な習慣。ただし、無限ループを回避するには例外を正しく処理することが重要です。
この例では、例外は do-while ループ内でキャッチされています。 InputMismatchException がスローされた場合、「エラー!」メッセージは、後続のループ反復を実行せずに繰り返し表示されます。これは、入力バッファが不整合な状態のままであり、例外をキャッチするだけではエラーを解決できないために発生します。
この問題を解決するには、次の手順が必要です。
これらの修正を示す、変更されたコード スニペットを次に示します。
catch (InputMismatchException e) { System.out.println("Error!"); input.next(); // Clear the input buffer }
さらに、特定の例外 (InputMismatchException など) を適切に処理するには、明示的な catch ブロックを使用することをお勧めします。
以上がtry-catch ブロックで InputMismatchException を処理するときに無限ループを回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。