编写一个Java程序,要求在程序中定义一个能抛出异常的方法,该方法接收三个参数,若第2个参数为0,则抛出算术异常,若第3个参数小于或等于0,则抛出空指针异常。在main()方法中捕获并处理该异常
时间: 2024-03-19 13:45:54 浏览: 43
好的,以下是一个简单的 Java 程序,其中包含了一个能抛出异常的方法和在主方法中捕获并处理该异常的代码:
```java
public class ExceptionHandlingExample {
public static void main(String[] args) {
try {
int result = divide(10, 0, -1);
System.out.println("结果:" + result);
} catch (ArithmeticException e) {
System.out.println("捕获到了算术异常:" + e);
} catch (NullPointerException e) {
System.out.println("捕获到了空指针异常:" + e);
}
}
public static int divide(int a, int b, int c) throws ArithmeticException, NullPointerException {
if (b == 0) {
throw new ArithmeticException("除数不能为0");
}
if (c <= 0) {
throw new NullPointerException("参数不能小于或等于0");
}
return a / b;
}
}
```
在上面的程序中,我们定义了一个名为 divide 的方法,该方法接收三个参数 a、b 和 c。如果 b 为 0,则会抛出一个算术异常,如果 c 小于或等于 0,则会抛出一个空指针异常。在主方法中,我们调用 divide 方法并捕获这两种异常。如果程序正常执行,它会输出 divide 方法的结果,否则会输出一个错误消息。
当我们运行这个程序时,它会输出以下内容:
```
捕获到了算术异常:java.lang.ArithmeticException: 除数不能为0
```
这表明我们成功地捕获了算术异常并在控制台上输出了相应的错误消息。如果我们将调用 divide 方法的第三个参数 c 改为 0,它将抛出一个空指针异常,我们也可以在主方法中捕获并处理它。
阅读全文