1、自定义一个异常类,重载构造函数,可以传入异常字符串 2、创建Circle类,创建area方法,参数为半径,判断如果半径为负数,抛出自定义异常对象 3、main方法中使用try-catch捕获
时间: 2024-10-21 13:17:54 浏览: 20
当然,首先我们来创建一个自定义的异常类,名为`NegativeRadiusException`,它会接受一个异常字符串作为额外信息:
```java
public class NegativeRadiusException extends Exception {
private String message;
public NegativeRadiusException(String message) {
super(message);
this.message = message;
}
@Override
public String getMessage() {
return "半径不能为负:" + message;
}
}
```
接下来,我们定义一个`Circle`类,其中包含一个计算面积的方法`getArea`,该方法会检查输入的半径是否为负,并在必要时抛出`NegativeRadiusException`:
```java
public class Circle {
private double radius;
public Circle(double radius) {
if (radius < 0) {
throw new NegativeRadiusException("半径不能是负数");
}
this.radius = radius;
}
public double getArea() {
return Math.PI * radius * radius;
}
}
```
最后,在`main`方法中,我们会使用`try-catch`结构来处理可能出现的`NegativeRadiusException`:
```java
public static void main(String[] args) {
try {
Circle circle = new Circle(-5); // 这将引发异常
System.out.println("圆的面积: " + circle.getArea());
} catch (NegativeRadiusException e) {
System.out.println(e.getMessage()); // 打印错误信息
}
}
```
在这个例子中,如果你尝试用负值初始化一个`Circle`实例,程序会捕获到异常并打印出相应的错误信息,而不是直接崩溃。
阅读全文