gpt4 book ai didi

python - 实现类似 C 的断言

转载 作者:太空宇宙 更新时间:2023-11-04 09:09:41 26 4
gpt4 key购买 nike

我正在尝试实现一个断言函数。如何将失败条件的文本放入错误消息中?如果我必须从回溯中解析它,我可以移植地依赖任何关于帧格式的信息吗?

最佳答案

AssertionError 就像 python 中的任何其他异常一样,assert 是一个简单的语句,等效于

if __debug__:
if not expression: raise AssertionError

if __debug__:
if not expression1: raise AssertionError(expression2)

所以你可以在你的断言中添加第二个参数以获得额外的输出

from sys import exc_info
from traceback import print_exception
# assertions are simply exceptions in Python
try:
assert False, "assert was false"
except AssertionError:
print_exception(*exc_info())

输出

Traceback (most recent call last):
File "<stdin>", line 2, in <module>
AssertionError: assert was false

关于python - 实现类似 C 的断言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16757623/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com