sup*_*ing 25 python exception try-catch
我想在Python 2.5,2.7和3.2中保留并使用异常的错误值.
在Python 2.5和2.7(但不是3.x)中,这适用于:
try:
print(10 * (1/0))
except ZeroDivisionError, error: # old skool
print("Yep, error caught:", error)
Run Code Online (Sandbox Code Playgroud)
在Python 2.7和3.2中(但不在2.5中),这适用于:
try:
print(10 * (1/0))
except (ZeroDivisionError) as error: # 'as' is needed by Python 3
print("Yep, error caught:", error)
Run Code Online (Sandbox Code Playgroud)
是否有任何代码可用于2.5,2.7和3.2?
谢谢
Ned*_*der 38
您可以在Pythons 2.5到3.2上使用一个代码库,但这并不容易.你可以看看coverage.py,它运行在2.3到3.3之间,只有一个代码库.
捕获异常并获取对所有异常起作用的异常的引用的方法是:
except ValueError:
_, err, _ = sys.exc_info()
#.. use err...
Run Code Online (Sandbox Code Playgroud)
这相当于:
except ValueError as err:
#.. use err...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20306 次 |
| 最近记录: |