如何在异常发生后立即停止函数的执行?[Python]

问题描述 投票:0回答:1

比方说,我有以下代码。

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 - 这个函数应该停止,不返回任何东西。但是其他线程应该在这之后工作。

python python-3.x function exception execution
1个回答
2
投票

你可以简单地用一个错误信息来停止执行。如果你使用的是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()

0
投票

你可以使用以下方法退出一个 Python 脚本 exit("Failure") 其中字符串是一个可选的信息。

© www.soinside.com 2019 - 2024. All rights reserved.