比方说,我有以下代码。
def main():
try:
int('string_for_ValueError')
except ValueError:
print('How to stop further execution right here?')
print('Executed')
main()
如你所见: print('Executed')
行无论如何都会被执行。我的目标是在执行完 except ValueError
是抓到了。
这个函数是多线程算法的一部分。所以,如果这个函数因为以下原因无法执行 except ValueError
- 这个函数应该停止,不返回任何东西。但是其他线程应该在这之后工作。
你可以简单地用一个错误信息来停止执行。如果你使用的是try except,你基本上希望程序在发现错误时不要停止执行。如果你真的想这样做,你可以这样做,但你可以有几种方法。我的问题是,如果你想停止程序,为什么会抓到这个错误?
更新后的编辑:你可以在你的函数中添加 return。
def main():
try:
int('string_for_ValueError')
except ValueError:
print('How to stop further execution right here?')
return "to something"
print('this line not executed because function sees the return')
main()
你可以使用以下方法退出一个 Python 脚本 exit("Failure")
其中字符串是一个可选的信息。