求圆面积自定义异常类
时间: 2023-07-16 12:17:10 浏览: 163
好的,以下是一个求圆面积的代码示例,并且包含自定义异常类:
```python
class CircleError(Exception):
def __init__(self, message="Error: The radius of the circle must be a positive number"):
self.message = message
super().__init__(self.message)
class Circle:
def __init__(self, radius):
self.radius = radius
def area(self):
if self.radius <= 0:
raise CircleError()
else:
return 3.14159265 * self.radius ** 2
try:
c = Circle(-5)
print(c.area())
except CircleError as e:
print(e.message)
try:
c = Circle(10)
print(c.area())
except CircleError as e:
print(e.message)
```
在上面的代码中,我们首先定义了一个自定义异常类 `CircleError`。当半径小于等于零时,我们会引发这个异常类。
然后,我们定义了一个圆类 `Circle`,并实现了求圆面积的方法 `area`。在 `area` 方法中,我们首先判断半径是否小于等于零,如果是,就引发 `CircleError` 异常;否则就计算圆的面积并返回。
在主程序中,我们演示了两种情况:第一种情况是半径为负数,会引发自定义的 `CircleError` 异常;第二种情况是半径为正数,会正常地计算圆的面积并输出结果。
希望这个例子能够帮助你理解如何使用自定义异常类。
阅读全文