个性化阅读
专注于IT技术分析

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

假设我有以下代码:

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脚本, 其中字符串是可选消息。

赞(0)
未经允许不得转载:srcmini » Python如何在异常发生后立即停止执行函数?

评论 抢沙发

评论前必须登录!