假设我有以下代码:
def main():
try:
int('string_for_ValueError')
except ValueError:
print('How to stop further execution right here?')
print('Executed')
main()
如你所见, 无论何时, 每次都会执行print(‘Executed’)行。我的目标是在捕获ValueError之后立即停止当前函数的执行。
所以, 问题是-怎么做?
更新
此函数是多线程算法的一部分。因此, 如果由于ValueError以外的原因而无法执行此函数-该函数应停止并且不返回任何内容。但是之后其他线程应该工作。
#1
你可以简单地用一条消息引发错误来停止执行。如果你使用try, 则除了你基本上希望程序在发现错误时不停止执行。如果你确实想这样做, 则可以这样做, 但是可以通过几种方式来做到。我的问题是, 如果要停止程序, 为什么会捕获此错误?
更新后进行编辑:你可以将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()
#2
你可以使用exit(” Failure”)退出Python脚本, 其中字符串是可选消息。
评论前必须登录!
注册