4. 捕获程序中键盘输入字符串转换类型出错的异常,并进行try-catch方式处理,并输出此throwable的详细消息字符串;
时间: 2024-03-03 09:49:09 浏览: 104
Java异常处理之try...catch...finally详解
好的,针对您的问题,以下是示例代码:
```java
import java.util.Scanner;
public class KeyboardInput {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个整数: ");
try {
int num = Integer.parseInt(scanner.nextLine());
System.out.println("您输入的整数是: " + num);
} catch (NumberFormatException e) {
System.out.println("捕获到异常: " + e.getMessage());
e.printStackTrace();
}
}
}
```
在上述代码中,我们使用了 `Scanner` 类来获取用户输入的字符串,并尝试将其转换为整数类型。当用户输入的不是有效的整数时,`Integer.parseInt()` 方法将抛出 `NumberFormatException` 异常。我们使用 `try-catch` 块来捕获该异常,并输出异常的详细信息字符串。
如果您在运行上述代码时输入了一个非数字字符串,将会输出如下信息:
```
请输入一个整数: abc
捕获到异常: For input string: "abc"
java.lang.NumberFormatException: For input string: "abc"
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:68)
at java.base/java.lang.Integer.parseInt(Integer.java:652)
at java.base/java.lang.Integer.parseInt(Integer.java:770)
at KeyboardInput.main(KeyboardInput.java:10)
```
可以看到,我们成功地捕获了异常,并输出了异常的详细信息字符串。
阅读全文