gpt4 book ai didi

java - 输入输出异常处理

转载 作者:太空宇宙 更新时间:2023-11-04 14:20:58 28 4
gpt4 key购买 nike

import java.io.IOException;
import java.util.Scanner;

public class Throwing {
static void main(String[] args) throws IOException {
int x = getInt();
System.out.println(x);
}

public static int getInt() throws IOException {
try {
Scanner console = new Scanner(System.in);
System.out.print("Type a number: ");
int value = console.nextInt();
System.out.println("You typed the integer ");
}
catch (IOException expection) {
System.out.println("Not a integer");
}
return 0;
}
}

程序是:如果你有整数,它会说它是整数,否则抛出 IOException ,它不是整数。我收到此错误:

Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - exception java.io.IOException is never thrown in body of corresponding try statement
at Throwing.getInt(Throwing.java:13)
at Throwing.main(Throwing.java:8)
Java Result: 1

最佳答案

这是因为当 int 无效时 scanner.nextInt() 不会抛出 IOException,而是抛出 InputMismatchException,所以你需要捕获 InputMismatchException 来检测无效的 int 输入。

或者您可以使用Scanner.hasNextInt()检测是否输入了有效的 int,而不是使用 try-catch。

关于java - 输入输出异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27205424/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com