python主动抛出异常
时间: 2023-08-16 21:14:43 浏览: 123
在Python中,你可以使用`raise`关键字来主动抛出异常。你可以选择已有的异常类,如`ValueError`、`TypeError`等,或者自定义一个异常类。
以下是一些示例代码:
1. 抛出已有的异常类:
```python
def divide(a, b):
if b == 0:
raise ValueError("除数不能为零")
return a / b
# 测试示例
try:
result = divide(10, 0)
except ValueError as e:
print(e) # 输出:除数不能为零
```
2. 自定义异常类:
```python
class MyCustomException(Exception):
pass
def check_number(num):
if num < 0:
raise MyCustomException("数字不能为负数")
# 测试示例
try:
check_number(-5)
except MyCustomException as e:
print(e) # 输出:数字不能为负数
```
通过合理地选择异常类,可以更好地表达代码中出现的问题,并提供相关的错误信息。
相关问题
python 主动抛出异常raise
在 Python 中,你可以使用 `raise` 语句来主动抛出异常。通过抛出异常,你可以在程序中的任何位置引发错误,以便进行适当的错误处理。
以下是一个示例:
```python
def divide(a, b):
if b == 0:
raise ValueError("Cannot divide by zero")
return a / b
try:
result = divide(10, 0)
except ValueError as e:
print("Error:", e)
```
在这个例子中,我们定义了一个 `divide()` 函数,用于执行除法运算。如果除数 `b` 为零,我们使用 `raise` 语句主动抛出一个 `ValueError` 异常,同时提供错误消息 "Cannot divide by zero"。
在 `try-except` 块中我们调用 `divide(10, 0)`,并捕获由 `raise` 引发的异常。如果抛出了 `ValueError` 异常,我们将异常对象赋值给变量 `e`,并打印出错误消息。
通过主动抛出异常,你可以根据程序逻辑和需要,在合适的地方引发错误,以便于错误处理和调试。
python主动抛出异常代码
以下是一个简单的 Python 代码示例,用于演示如何主动抛出异常:
```python
def divide_numbers(a, b):
if b == 0:
raise ZeroDivisionError("除数不能为零")
return a / b
try:
result = divide_numbers(10, 0)
except ZeroDivisionError as err:
print(err)
else:
print(result)
```
上面的代码定义了一个名为 `divide_numbers()` 的函数,该函数接受两个参数 `a` 和 `b`,并返回它们的商。如果除数 `b` 为零,则函数会主动抛出一个 `ZeroDivisionError` 异常,指示除数不能为零。
在主程序中,我们使用 `try-except` 语句来捕获可能抛出的异常。如果 `divide_numbers()` 函数正常返回,则代码会打印计算结果。否则,它会打印异常的错误消息,即“除数不能为零”。
阅读全文