用Java编写自定义异常类(必须继承系统的Exception类),在除数为0时抛出自定义异常,并捕获处理该异常。并更改有关提示信息,运行该程序若干次,每次输入不同的数据,观察分析程序的运行结果。在除数为0时抛出自定义异常,并捕获处理该异常。
时间: 2024-03-07 16:50:25 浏览: 83
下面是用Java编写自定义异常类的代码:
```
import java.util.Scanner;
// 自定义除数为0的异常类
class DivideByZeroException extends Exception {
public DivideByZeroException(String message) {
super(message);
}
}
public class CustomExceptionDemo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
try {
System.out.print("请输入被除数:");
double dividend = Double.parseDouble(scanner.nextLine());
System.out.print("请输入除数:");
double divisor = Double.parseDouble(scanner.nextLine());
if (divisor == 0) {
throw new DivideByZeroException("除数不能为0");
}
System.out.println("结果为:" + (dividend / divisor));
} catch (NumberFormatException e) {
System.out.println("数字格式异常:" + e.getMessage());
} catch (DivideByZeroException e) {
System.out.println("自定义异常:" + e.getMessage());
} catch (Exception e) {
System.out.println("通用型异常:" + e.getMessage());
}
}
}
```
在上面的代码中,我们定义了一个自定义异常类`DivideByZeroException`,它继承了系统的`Exception`类。在除数为0的情况下,我们抛出该异常,并且在`catch`块中捕获并处理该异常。我们还更改了有关提示信息,以便更好地提示错误信息。
我们可以运行该程序多次,每次输入不同的数据,观察分析程序的运行结果。当除数为0时,程序会抛出自定义的异常,并输出提示信息。当其他异常发生时,程序也会相应地输出提示信息。
阅读全文