在Java编程中,如何捕获异常?试编程举例加以说明。
时间: 2024-06-11 16:09:59 浏览: 87
在Java中,我们使用try-catch语句来捕获异常。try块中包含可能会抛出异常的代码,如果发生异常,程序会跳转到catch块中,执行catch块中的代码。下面是一个简单的例子:
```java
public class Example {
public static void main(String[] args) {
try {
int[] arr = new int[5];
arr[10] = 1; // 数组越界,抛出异常
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("数组越界异常:" + e.getMessage()); // 输出异常信息
}
}
}
```
在上面的例子中,我们创建了一个长度为5的数组,然后试图访问索引为10的元素,这会导致数组越界异常。我们使用catch块捕获这个异常,并输出异常信息。
除了常见的异常类型,Java还提供了一些其他的异常类型,比如IOException、NullPointerException等等。我们可以在catch块中使用多个catch语句来捕获不同类型的异常,如下所示:
```java
public class Example {
public static void main(String[] args) {
try {
// 可能抛出异常的代码
FileReader file = new FileReader("test.txt");
BufferedReader br = new BufferedReader(file);
String line = br.readLine();
System.out.println(line.toUpperCase());
br.close();
} catch (FileNotFoundException e) {
System.out.println("文件不存在:" + e.getMessage());
} catch (IOException e) {
System.out.println("读取文件失败:" + e.getMessage());
} catch (NullPointerException e) {
System.out.println("空指针异常:" + e.getMessage());
}
}
}
```
在上面的例子中,我们尝试读取一个名为test.txt的文件,并将文件中的一行转换为大写字母输出。由于文件可能不存在,我们使用了FileNotFoundException来捕获这种异常;由于文件读取时可能失败,我们使用了IOException来捕获这种异常;由于读取到的行可能为空,我们使用了NullPointerException来捕获这种异常。在每个catch块中,我们输出了对应的异常信息。
阅读全文