python 抛自定义异常
时间: 2023-11-09 10:02:02 浏览: 42
在 Python 中,我们可以通过 raise 语句抛出自定义异常。自定义异常需要继承自 Exception 类或其子类。以下是一个简单的示例:
```python
class MyError(Exception):
pass
def divide(x, y):
if y == 0:
raise MyError("Cannot divide by zero!")
return x / y
try:
result = divide(10, 0)
except MyError as e:
print(e)
else:
print(result)
```
输出:
```
Cannot divide by zero!
```
相关问题
Python如何抛出自定义异常
在Python中,我们可以通过自定义异常来处理特定的错误情况。要抛出自定义异常,可以按照以下步骤进行操作:
1. 创建一个继承自`Exception`类的新异常类,可以根据需要添加额外的属性和方法。例如,我们创建一个名为`CustomException`的自定义异常类:
```python
class CustomException(Exception):
pass
```
2. 在需要抛出异常的地方,使用`raise`关键字抛出自定义异常。例如,我们在某个函数中检查某个条件,如果条件不满足,则抛出自定义异常:
```python
def check_condition(value):
if value < 0:
raise CustomException("Value cannot be negative")
```
在上述代码中,如果`value`小于0,则会抛出`CustomException`异常,并且可以在异常消息中提供相关的错误信息。
3. 在调用函数的地方,可以使用`try-except`语句来捕获并处理自定义异常。例如:
```python
try:
check_condition(-1)
except CustomException as e:
print(e)
```
在上述代码中,如果`check_condition(-1)`抛出了`CustomException`异常,那么该异常会被`except`块捕获,并打印出异常消息。
python如何自定义异常
在 Python 中,自定义异常可以通过创建一个新的类来实现。这个新类需要继承自内置的 Exception 类或其子类。
下面是一个简单的例子:
```python
class MyException(Exception):
def __init__(self, message):
self.message = message
def __str__(self):
return self.message
```
在上面的例子中,我们创建了一个名为 MyException 的新异常类,它继承自内置的 Exception 类。该类中定义了两个方法:`__init__()` 和 `__str__()`。`__init__()` 方法接受一个参数 message,用于设置异常的消息。`__str__()` 方法用于返回异常的消息。
现在我们可以使用这个自定义的异常类来抛出异常:
```python
try:
raise MyException("This is my custom exception.")
except MyException as e:
print(e)
```
上面的代码中,我们使用 `raise` 关键字抛出了一个 MyException 类型的异常,并且在 `except` 块中捕获了这个异常并打印了它的消息。
当我们运行上述代码时,输出结果应该是:
```
This is my custom exception.
```