定义一个CircleException类,其中有求面积的方法,当半径小于0时,抛出一个用户自定义异常。当半径radius的不小于零时,输出圆的面积, 当半径radius的小于零时,输出异常发生信息(异常编号[本例设为:1003]与提示异常的类别信息)。
时间: 2024-12-14 22:18:05 浏览: 21
首先,我们可以创建一个名为CircleException的自定义异常类,继承自Python中的内置Exception类。然后,在Circle类中定义一个求面积的方法,如果半径小于0,则抛出自定义异常。
```python
class CircleException(Exception):
def __init__(self, message, code=1003):
self.message = message
self.code = code
super().__init__(f"异常编号: {code}, 类别信息: {message}")
class Circle:
def __init__(self, radius):
if radius < 0:
raise CircleException("半径不能为负数")
self.radius = radius
def calculate_area(self):
try:
area = 3.14 * (self.radius ** 2)
print(f"圆的面积: {area}")
except CircleException as e:
print(f"异常发生: {e}")
# 使用示例
try:
circle = Circle(-5)
circle.calculate_area()
except CircleException as ce:
print(ce)
```
在这个例子中,当我们尝试创建一个半径为负数的Circle对象时,会触发CircleException,并打印出异常信息。如果半径大于等于0,计算并显示面积则不会抛出异常。
阅读全文