だから私はエラーなどを捕まえるのが初めてです。とにかく、プログラムは、ユーザーに2つの整数を尋ねて、それらを一緒に追加することになっています。単純ですが、数値のいずれかが整数でない場合、エラーがスローされます。現在、2つの整数を追加するのではなく、2つの整数を入力すると、getAnswer()メソッドが再起動され、再び出力されます。また、複数のエラーを入力すると、単に終了します。Java例外処理
package javaapplication1;
import java.util.InputMismatchException;
import java.util.Scanner;
public class JavaApplication1 {
public static void main(String[] args) {
Intro();
System.out.println("Your answer: "+getAnswer());
}
private static void Intro() {
System.out.println("Hello this program adds 2 integers together and catches errors.");
getAnswer();
}
private static int getAnswer() throws InputMismatchException {
Scanner scanner = new Scanner(System.in);
try {
System.out.println("Please input a number");
int num1 = scanner.nextInt();
System.out.println("Please input a second number");
int num2 = scanner.nextInt();
return num1+ num2;
} catch (InputMismatchException exp) {
System.out.println("Exception thrown");
return 0;
}
}
}
'getAnswer()'メソッドにデバッグポイントを置いて、それをステップ実行しようとしましたか?また、特定の種類の例外をキャッチした場合、メソッドシグネチャは 'throwsException'と言う必要はなくなりました。 –
"現在、2つの整数を追加するのではなく、getAnswer()メソッドを再起動して再び出力します。" - あなたのプログラムには2つのgetAnswerの呼び出しが含まれています。 – user2357112
エラーで終了しないようにしますか? – Henry