用java在上一段的基础上编写自定义异常类(必须继承系统的Exception类),在除数为0时抛出自定义异常,并捕获处理该异常。
时间: 2023-07-15 18:13:17 浏览: 105
java自定义异常及处理
5星 · 资源好评率100%
好的,以下是一个简单的示例代码:
```
public class DivideByZeroException extends Exception {
public DivideByZeroException(String message) {
super(message);
}
}
public class Main {
public static void main(String[] args) {
int dividend = 10;
int divisor = 0;
try {
if (divisor == 0) {
throw new DivideByZeroException("除数不能为0");
}
int result = dividend / divisor;
System.out.println("结果为:" + result);
} catch (DivideByZeroException e) {
System.out.println("发生了自定义异常:" + e.getMessage());
} catch (Exception e) {
System.out.println("发生了其他异常:" + e.getMessage());
}
}
}
```
在上面的代码中,我们首先自定义了一个继承自Exception类的异常类DivideByZeroException。在main方法中,我们定义了两个整型变量dividend和divisor,divisor被赋值为0,这样就会发生除数为0的情况。
我们使用try-catch语句块来捕获可能抛出的异常。在try块中,我们先判断divisor是否为0,如果是,就通过throw语句抛出自定义异常DivideByZeroException,并传入一个错误信息作为参数。
在catch块中,我们通过多个catch语句分别捕获自定义异常和其他异常,并分别输出错误信息。
当我们运行程序时,由于除数为0,就会抛出DivideByZeroException,并被catch块捕获并处理。输出的结果为:
```
发生了自定义异常:除数不能为0
```
阅读全文