Java编写一段可能产生某种异常的程序(如ArithmeticException 、NumberFormatException、IndexOutOfBounds、InputMismatchException), 并用try-catch-finally语句捕获并处理这种异常,要求有finally子句,异常处理代码中输出异常类型和描述信息。分析不同情况下程序运行结果。
时间: 2024-02-11 16:09:56 浏览: 82
好的,以下是一段可能产生NumberFormatException异常的Java程序,并使用try-catch-finally语句捕获并处理该异常,并输出异常类型和描述信息的代码示例:
```java
import java.util.Scanner;
public class ExceptionExample {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
try {
System.out.print("请输入一个整数:");
int num = Integer.parseInt(input.nextLine());
System.out.println("你输入的整数是:" + num);
} catch (NumberFormatException e) {
System.out.println("异常类型:NumberFormatException");
System.out.println("异常描述:" + e.getMessage());
} finally {
System.out.println("程序执行完毕!");
}
}
}
```
该程序通过Scanner类获取用户输入的一行字符串,然后通过Integer.parseInt()方法将其转换为整数。如果用户输入的字符串不能转换为整数,则会抛出NumberFormatException异常。
在程序中,我们使用try-catch语句来捕获该异常,并在catch块中输出异常类型和描述信息。在finally块中,无论程序是否抛出异常,都会执行其中的代码。
不同情况下程序运行结果如下:
1. 用户输入的是一个整数:程序会正常执行完毕,输出用户输入的整数以及“程序执行完毕!”的信息。
2. 用户输入的不是一个整数:程序会抛出NumberFormatException异常,进入catch块中,输出异常类型和描述信息,然后执行finally块中的代码,输出“程序执行完毕!”的信息。
总之,通过try-catch-finally语句,我们可以捕获并处理程序中可能出现的异常,确保程序的健壮性和稳定性。
阅读全文