0

文字列に文字を入力しようとすると、trycatch構造を使用してエラーを表示しようとしています。これにはどの例外を使用する必要がありますか?コンソールにInputMismatchExceptionが表示されますが、これは機能しません。

動作する入力:

beginnen = 1

動作しない入力:

beginnen = a

文字列をintに入れているので、明らかに機能しません。これが発生したときにメッセージを表示したいだけです。

int beginnen;
String error = "Something went wrong";
try {
   beginnen = Input.readInt();
}
   catch (InputMismatchException IME) {
        System.out.println(error);
   }

表示されるエラー:

Exception in thread "main" java.util.InputMismatchException
4

2 に答える 2

2

ドキュメントが曇っている場合は、実験を使用してください。

 try {
   beginnen = Input.readInt();
 } catch (Throwable x) {
     System.err.println("Catched "+x.getClass().getName());
 }

これにより、正確なクラス名が出力され、後でこのクラスの例外をキャッチするようにコードを変更できます。これも表示されます。実際には何もスローされない可能性があります。

于 2013-01-07T15:42:31.373 に答える
1

Try / Catch式は私には問題ないように見えますが、どこにも定義されていないエラーを誤って参照しています。

に変更してみてくださいSystem.out.println(IME.getMessage());

于 2013-01-07T15:38:18.863 に答える