尝试 Catch Works 但再次显示异常 [重复]

问题描述 投票:0回答:0

当我决定使用 try catch 来捕获异常时,我正在用 java 编写代码。我用scanner来取一个整数输入,如果我输入一个非整数的值,我就用try catch。 这是代码。

import java.util.InputMismatchException;
import java.util.Scanner;
public class excep {
    public static void main(String[] args) {
        int a;
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter a number");
        try {
            a = sc.nextInt();
        } catch (InputMismatchException e) {
            System.out.println("You should enter a number");
            a = sc.nextInt();
        }
        System.out.println(a);
        
    }
}

如果我输入整数,我的代码运行正常,但是当我输入整数以外的另一个值时,异常有效但再次打印 java 异常。

这个问题...

E:\demo\source>java excep.java 输入一个数字 1个 1

E:\demo\source>java excep.java
Enter a number
x
You should enter a number
Exception in thread "main" java.util.InputMismatchException
        at java.base/java.util.Scanner.throwFor(Scanner.java:947)
        at java.base/java.util.Scanner.next(Scanner.java:1602)
        at java.base/java.util.Scanner.nextInt(Scanner.java:2267)
        at java.base/java.util.Scanner.nextInt(Scanner.java:2221)
        at demo.source.excep.main(excep.java:13)

E:\demo\source>

如果可以,请帮帮我!

我尝试使用其他值,但在 try-catch 运行后再次打印异常。

java exception try-catch
© www.soinside.com 2019 - 2024. All rights reserved.