用python编写代码,设计circlearea方法,计算圆的面积。自己定义一个异常类,如果半径为负值,抛出自己定义的异常。
时间: 2024-03-14 21:44:46 浏览: 29
好的,以下是 Python 代码实现:
```
import math
class NegativeRadiusError(Exception):
def __init__(self, message):
super().__init__(message)
def circlearea(radius):
if radius < 0:
raise NegativeRadiusError("半径不能为负数!")
return math.pi * radius * radius
try:
radius = 5
area = circlearea(radius)
print("圆的面积是:", area)
radius = -5
area = circlearea(radius)
print("圆的面积是:", area)
except NegativeRadiusError as e:
print(e)
```
在上面的代码中,我们首先定义了一个 `NegativeRadiusError` 异常类,用于表示半径值为负数的情况。在该类中,我们只需要简单地继承 `Exception` 类,并实现一个构造函数,用于接收异常提示信息即可。
接下来我们定义了一个 `circlearea` 方法,用于计算圆的面积。该方法会先判断传入的半径值是否小于 0,如果是,则抛出自定义的异常类 `NegativeRadiusError`,否则返回圆的面积。
在 `try-except` 代码块中,我们首先定义了一个半径值为 5 的圆,并调用 `circlearea` 方法来计算其面积。如果半径值小于 0,则会捕获 `NegativeRadiusError` 异常并打印出其提示信息。
接下来,我们再定义了一个半径值为 -5 的圆,并调用 `circlearea` 方法来计算其面积。由于半径值小于 0,所以会抛出 `NegativeRadiusError` 异常,并打印出其提示信息。