、写一段自定义异常代码 自定义异常用raise抛出异常
时间: 2024-10-04 09:01:57 浏览: 18
在Python中,你可以自定义异常来创建特定于你的程序逻辑的错误类型。这有助于提高代码的可读性和错误处理的精确度。以下是如何编写一个简单的自定义异常的例子:
```python
class CustomException(Exception):
"""这是我们的自定义异常类"""
def __init__(self, message):
self.message = message
super().__init__(self.message)
# 使用自定义异常
def check_age(age):
if age < 0 or age > 150:
raise CustomException("年龄必须在0到150之间")
try:
check_age(-10) # 这将会触发异常
except CustomException as e:
print(f"发生了一个{type(e).__name__}: {e}")
```
在这个例子中,我们定义了一个名为`CustomException`的类,它是`Exception`类的子类。当`check_age`函数中的条件不满足时,我们会使用`raise`语句抛出自定义的异常。
`__init__`方法用于初始化异常,传递给父类的`super().__init__(message)`确保了正确地设置了异常消息。在`try-except`块中,我们捕获并打印这个自定义异常。
相关问题
自定义一个异常并用raise语句抛出。
好的,我可以帮你演示一个自定义异常并用 raise 语句抛出的例子。
```python
class MyError(Exception):
def __init__(self, message):
self.message = message
def __str__(self):
return f"MyError: {self.message}"
raise MyError("这是我自定义的异常")
```
这段代码定义了一个名为 MyError 的自定义异常类,该类继承自 Exception 类,并重写了 __init__ 方法和 __str__ 方法。在 __init__ 方法中,我们定义了一个 message 属性,用于存储异常信息。在 __str__ 方法中,我们返回了一个字符串,包含了异常的名称和信息。
接下来,我们使用 raise 语句抛出了一个 MyError 的实例,传入了异常信息 "这是我自定义的异常"。
运行这段代码,你将看到以下输出:
```
MyError: 这是我自定义的异常
```
这就是我们自定义的异常被抛出并捕获的结果。
python用类实现异常捕获和自定义异常
回答:可以使用try-except语句来捕获异常,可以自定义异常类继承自Exception,可以使用raise关键字抛出自定义异常。例如:
```
class MyException(Exception):
pass
try:
# some code here
raise MyException("Something went wrong")
except MyException as e:
print("Custom exception caught: ", str(e))
except Exception as e:
print("Other exception caught: ", str(e))
```
这段代码中,我们定义了一个自定义异常类MyException,然后在try块中抛出了一个MyException异常。如果这个异常被捕获了,程序会打印"Custom exception caught: Something went wrong"。如果抛出的是其它异常,则会打印"Other exception caught"。