Java中catch怎么用
时间: 2023-10-06 10:12:23 浏览: 39
在Java中,`catch`用于捕获异常,并对其进行处理。`catch`语法如下:
```java
try {
// 可能会抛出异常的代码
}
catch (ExceptionType e) {
// 捕获异常后的处理代码
}
```
其中,`try`块中包含可能会抛出异常的代码;`catch`块中包含捕获异常后的处理代码,`ExceptionType`是异常类型。
`ExceptionType`可以是Java内置的异常类,也可以是自定义的异常类。例如,以下代码演示了如何捕获`NullPointerException`异常:
```java
try {
String str = null;
System.out.println(str.length());
}
catch (NullPointerException e) {
System.out.println("发生了空指针异常");
}
```
在上述代码中,`String str = null`会抛出`NullPointerException`异常,`catch`块中的代码会捕获并处理该异常。
另外,Java中的异常处理机制支持多个`catch`块,用于处理不同类型的异常。例如,以下代码演示了如何同时捕获`NullPointerException`和`ArithmeticException`异常:
```java
try {
String str = null;
System.out.println(str.length() / 0);
}
catch (NullPointerException e) {
System.out.println("发生了空指针异常");
}
catch (ArithmeticException e) {
System.out.println("发生了算术异常");
}
```
在上述代码中,由于`str`为null,会抛出`NullPointerException`异常;同时,除数为0会抛出`ArithmeticException`异常。`catch`块中的代码会捕获并处理对应的异常。
最后,Java中的异常处理机制还支持`finally`块,用于指定不管是否抛出异常都会执行的代码。例如,以下代码演示了如何使用`finally`块:
```java
try {
// 可能会抛出异常的代码
}
catch (ExceptionType e) {
// 捕获异常后的处理代码
}
finally {
// 不管是否抛出异常,都会执行的代码
}
```
在上述代码中,`finally`块中的代码会不管是否抛出异常都会执行。`finally`块中的代码通常用于资源的释放,例如关闭文件、释放内存等。