我正在从另一个 python 脚本运行 python 脚本,我想知道如何从父 python 脚本捕获异常。
我的父 python 脚本调用另一个 python 脚本 n 次。最终,被调用的脚本将以“ValueError”异常退出。我想知道是否有办法让我的父 python 脚本注意到这一点然后停止执行。
这是基本代码:
import os
os.system('python other_script.py')
Run Code Online (Sandbox Code Playgroud)
我试过这样的事情无济于事:
import os
try:
os.system('python other_script.py')
except ValueError:
print("Caught ValueError!")
exit()
Run Code Online (Sandbox Code Playgroud)
和
import os
try:
os.system('python other_script.py')
except:
print("Caught Generic Exception!")
exit()
Run Code Online (Sandbox Code Playgroud) 我有一段 python 代码,它会MemoryError在一段时间后生成。我知道它会消耗大量内存。所以,我决定把代码放在一个try/except块中,这样骨架看起来像下面这样:
while True:
while True:
try:
#---- do some stuff
except MemoryError as err:
print(err)
break
Run Code Online (Sandbox Code Playgroud)
所以,我的想法是while在 aMemoryError发生时跳出第一个循环,因为我有一个外部while循环,它将再次启动程序。
似乎它暂时有效,但我不确定。过了一会儿,它再次停止,我需要再次重新启动程序。有人知道更好的解决方案,以便程序可以MemoryError再次运行吗?