python 如何抛出多个异常 并可以自定义异常
时间: 2023-06-27 16:03:56 浏览: 128
浅谈python抛出异常、自定义异常, 传递异常
在 Python 中,可以使用 `raise` 语句抛出异常。如果想要抛出多个异常,可以将多个 `raise` 语句放在一个 try 块中,每个语句抛出一个不同的异常。例如:
```python
try:
if x < 0:
raise ValueError("x不能为负数")
if x == 0:
raise ZeroDivisionError("除数不能为0")
except (ValueError, ZeroDivisionError) as e:
print("发生了一个异常:", e)
```
在上面的代码中,如果 `x` 是负数,就会抛出一个 `ValueError` 异常;如果 `x` 是0,就会抛出一个 `ZeroDivisionError` 异常。然后通过一个 except 块捕获这两个异常并进行处理。
如果想要自定义异常,可以定义一个新的异常类,并继承自 `Exception` 类。例如:
```python
class MyException(Exception):
pass
try:
raise MyException("这是一个自定义异常")
except MyException as e:
print("发生了一个异常:", e)
```
在上面的代码中,我们定义了一个新的异常类 `MyException`,并通过 `raise` 语句抛出这个自定义异常。然后通过一个 except 块捕获这个异常并进行处理。
阅读全文