自定义一个异常类,当除数为0是抛出并捕捉异常,输出”除数不能为0!” Java异常分类,异常处理,自定义异常 输入格式: 输入任意两个数 输出格式: 输出结果或者错误信息
时间: 2024-03-13 18:44:29 浏览: 159
好的,下面是Java的代码实现:
```java
import java.util.Scanner;
// 自定义异常类
class DivideByZeroException extends Exception {
public DivideByZeroException() {
super("除数不能为0!");
}
}
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
int b = scanner.nextInt();
try {
if (b == 0) {
throw new DivideByZeroException(); // 抛出自定义异常
}
System.out.println(a / b);
} catch (DivideByZeroException e) {
System.out.println(e.getMessage()); // 捕捉异常并输出错误信息
}
}
}
```
关于Java的异常处理,可以分为两类:编译时异常和运行时异常。编译时异常是指在编译阶段就能够检测出来的异常,必须进行处理,否则无法通过编译。运行时异常是指在程序运行期间才能够检测出来的异常,可以不进行处理,但是如果不处理,程序会抛出异常并终止运行。
同时,Java也支持自定义异常类,只需要继承Exception或RuntimeException类即可。在代码中,我们定义了一个自定义异常类DivideByZeroException,用于处理除数为0的情况。当捕捉到这个异常时,就会输出错误信息"除数不能为0!"。
阅读全文