raise可抛出具体异常如raise ValueError(“输入值无效”);2. 在except中用raise可重新抛出当前异常,保留 traceback。

在 python 中,raise 语句用于主动抛出异常。它有两种常见用法:一种是抛出具体的异常实例,另一种是重新抛出当前正在处理的异常。
1. 抛出自定义或标准异常
你可以使用 raise 后跟一个异常类或异常实例,来主动触发一个异常。这种方式常用于验证参数、控制程序流程或提示错误条件。
- raise ValueError(“输入值无效”)
- raise TypeError(“类型不匹配”)
- raise Exception(“自定义错误信息”)
你也可以先创建异常实例,再抛出:
raise ValueError(“年龄不能为负数”)
这种写法最常用在条件判断中,比如检查函数输入是否合法。
立即学习“Python免费学习笔记(深入)”;
2. 重新抛出当前异常
在 except 块中,单独使用 raise(不带参数)会重新抛出当前正在处理的异常。这在你捕获异常进行部分处理后,仍希望上层调用者知道出错时非常有用。
try:
1 / 0
except ZeroDivisionError:
print(“捕获到除零错误”)
raise # 重新抛出原异常
这样既做了日志记录或清理工作,又保留了原始的异常 traceback,有助于调试。
基本上就这些。第一种用于主动报错,第二种用于异常透传。根据场景选择合适的方式即可。


