java - 异常(exception)情况。我该如何解决这个问题?第一步

标签 java exception

几周前我开始学习java。我是新人,我犯了很多错误。今天我试图了解异常(exception)情况。我编写了一个计算矩形平方的程序,但是当我放入“a”侧(例如 c 字母)时,它不起作用。我希望它向我显示类似“我们有问题;)”的字符串,但它会引发错误。你能帮助我吗?

package Learning;
import java.io.*;
import java.util.Scanner;

public class Exceptions {
    public static void main(String[] args) throws IOException {
        double a,b,wynik;
        Scanner odc = new Scanner(System.in);
        try {
            System.out.println("Enter side a: ");
            a = odc.nextDouble();
            System.out.println("Enter side b: ");
            b = odc.nextDouble();
            wynik=a*b;
            System.out.println("Field equals: "+wynik);
        }
        catch(NumberFormatException e){
            System.out.println("We have a problem ;)");
        }
    }
}

当我放入 a 侧时,“c”字母我有类似的东西:

Exception in thread "main" java.util.InputMismatchException
    at java.base/java.util.Scanner.throwFor(Scanner.java:939)
    at java.base/java.util.Scanner.next(Scanner.java:1594)
    at java.base/java.util.Scanner.nextDouble(Scanner.java:2564)
    at Learning.Exceptions.main(Exceptions.java:11)

我需要看到:“我们有问题;)”

最佳答案

捕获InputMismatchException:

catch(NumberFormatException | InputMismatchException e){ ... }
如果出现 NumberFormatExceptionInputMismatchException

System.out.println("We have a Problem ;)"); 将被执行.

如果您想根据异常类型输出不同的结果,请为 InputMismatchException 创建另一个 catch block 。

关于java - 异常(exception)情况。我该如何解决这个问题?第一步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54061334/

相关文章:

java - 在 JavaFX 中为计算器创建退格按钮

exception - Monotouch 毫无异常(exception)地崩溃

java - 添加方法到frame.add()

java - 如何捕获Hibernate DB连接错误异常?

java - CRUDRepository findAll 发现空

java - HtmlUnit ScriptException 错误

java - 添加到 Vector 时出现 NullPointerException

java - JSF 2.0 : Why do I got this Inject managed bean Exception

java - 字符串加号运算符的线程安全,包括优化

java - Netty - 如何在一台服务器上正确地提供 web 套接字和原始 tcp?