示例代码异常处理流程:JVM的控制
package com.company;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
boolean continueInput = true;
do {
try {
System.out.println("Enter an integer");
int number = input.nextInt();
System.out.println("The number entered is " + number);
continueInput = false;
}
catch (InputMismatchException ex) {
System.out.println("Try again, enter integer only: ");
input.nextLine();
}
}
while (continueInput);
}
}
上述程序是测试InputMismatch异常类。我不确定在输入字母时控制流程在什么时间传递给catch块。具体来说,哪种情况发生?
a)以字母B的JVM输出“输入一个整数”和用户类型是否字母B会被分配给int类型的可变数量,然后发生异常时,因为这种不兼容性OR
的b)JVM输出“输入一个整数”,用户键入字母B.是否首先检查输入以确定它是否为整数,如果不是抛出异常以将控制权转移给catch块?
或
C)以上都不是?
我认为它是被定义为返回一个int
位B和C.
包含代码时请使用'{}'图标,而不是“JavaScript/HTML/CSS代码段”图标。我认为你是以JavaScript代码片段的形式输入的,但Java不是JavaScript。 – ajb
这是调试器的用途。 –
你为什么要问一个stackoverflow问题,通过打印变量的内容就可以很容易地发现它? –