java - 没有看到我在 catch 方法上设置的错误消息 (Java)

标签 java try-catch

程序将要求输入一个整数。我在 catch 方法中设置了一条错误消息,以防输入是字符或除整数以外的任何内容。但是,当我尝试输入字母时,我没有看到错误消息。我也尝试过不同的异常类型和相应的导入,但没有区别。这是代码:

public class Random1 {

public static void main(String[] args){

    int g;

    Scanner input = new Scanner(System.in);

    System.out.print("Enter your guess: ");
    g = input.nextInt();


    Random r = new Random();
    int a = r.nextInt(10) + 1;

    try {
        if (g == a) {

            System.out.println("**************");
            System.out.println("*  YOU WON!  *");
            System.out.println("**************");
            System.out.println("Thank you for playing!");

        } else if (g != a) {
            System.out.println("Sorry, better luck next time!");
        }
    } catch (Exception e) {
        System.err.println("Not a valid input. Error :" + e.getMessage());

    }

最佳答案

抛出异常的代码必须放在try block 中

关于java - 没有看到我在 catch 方法上设置的错误消息 (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9780052/

相关文章:

java - 我不确定如何修复此代码。第一部分是一个循环(需要是第一部分),我不知道如何关闭它

Java catch block ,捕获的异常不是最终的

java - 如何忽略非整数输入并继续接受输入

java - 如何检查 session 是否是手动打开的?

scala - 两个异常 "at the same time",处理这种情况的正确方法是什么?

java - Git:维护 2 个分支,99% 的代码相似

Java自定义Paint实现性能问题

java - 如何从 JavaScript 中访问存储在 session 中的数组变量?

java - 一个 Java 程序,获取一个整数,分隔各个数字并给出数字之和

r - 如有任何错误,停止执行代码