自定义异常的抛出和捕获;Java内置异常的捕获与处理
时间: 2024-02-16 09:04:08 浏览: 140
好的,针对你的问题,我来给你简单解释一下。
自定义异常的抛出和捕获:
在Java中,我们可以自定义异常,并且在程序中主动抛出该异常,让程序在出现异常时能够更好地处理异常情况。自定义异常的实现步骤一般如下:
1. 继承Exception或RuntimeException类。
2. 编写构造方法,用于初始化Exception或RuntimeException类的构造方法。
3. 编写getMessage()方法,返回异常信息。
抛出自定义异常时,可以使用throw关键字将异常对象抛出,例如:
```
public class MyException extends Exception {
public MyException(String message) {
super(message);
}
}
public class Test {
public static void main(String[] args) throws MyException {
throw new MyException("自定义异常信息");
}
}
```
捕获自定义异常时,可以使用try-catch语句捕获异常并进行处理,例如:
```
public class Test {
public static void main(String[] args) {
try {
throw new MyException("自定义异常信息");
} catch (MyException e) {
System.out.println(e.getMessage());
}
}
}
```
Java内置异常的捕获与处理:
在Java中,内置了很多异常类,例如NullPointerException、ArrayIndexOutOfBoundsException等。这些异常类通常继承自Exception或RuntimeException类,我们可以使用try-catch语句捕获这些异常并进行处理。例如:
```
public class Test {
public static void main(String[] args) {
try {
int[] arr = null;
System.out.println(arr.length);
} catch (NullPointerException e) {
System.out.println("空指针异常");
e.printStackTrace();
} catch (Exception e) {
System.out.println("其他异常");
e.printStackTrace();
}
}
}
```
在上述代码中,我们尝试访问一个空指针数组的长度,由于数组为null,会抛出NullPointerException异常,我们使用try-catch语句捕获该异常并进行处理。如果我们不知道具体的异常类型,可以使用Exception类捕获所有异常。在捕获异常时,可以使用printStackTrace()方法打印异常信息,帮助我们更好地进行调试。
阅读全文