gpt4 book ai didi

python - 除了已加载的C库中的Python错误之外

转载 作者:行者123 更新时间:2023-12-03 08:49:49 24 4
gpt4 key购买 nike

我有一段代码,它加载了一个库,但是死了。我已经用try/except传递将它包围了,但是它仍然死了。有谁知道如何克服错误并继续下面的打印语句:

      try: 
library.load("test_data/polo.lib")
except:
pass

defines = library.get_defines()
print defines
assert ( len(defines) == 3), "Make sure we have 3 defines"

我在library.load代码行之后立即得到的错误是:
scci18910> python test_001_library.py
Loading library test_data/polo.lib
terminate called after throwing an instance of 'std::string'
Abort

最佳答案

您无法捕获异常,因为没有python异常被抛出。
但是您可以使用子流程绕过Abort:

创建文件list_defines.py:

library.load("test_data/polo.lib")
print(library.get_defines())

然后:
import subprocess

try:
defines = parse_string_to_list_somehow(subprocess.check_output('python', '-c', 'list_defines.py'))
except CalledProcessError as e:
print('Library defines list failed', e)
defines = []

附言示例适用于python3

关于python - 除了已加载的C库中的Python错误之外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43751989/

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