【问题标题】:Excepting Breaks In PythonPython 中的异常中断
【发布时间】:2020-04-07 07:50:05
【问题描述】:

我知道这听起来很疯狂,但我找不到解决方案。我试图在使用try-except 的循环内排除break 语句。
这是我尝试过的:

for i in range(10):
    try:
        print(i)
        break
    except break:
        print("Break excepted")
        pass

但是Python3.x 返回错误:

SyntaxError: invalid syntax

那么除了break 语句,我该怎么做呢?
Ps:我知道我可以在break 之前有print 语句并避免break 语句,但是如果我想,我会怎么做?

【问题讨论】:

  • break 也不例外。你不能抓住它。无论你想做什么,这都不是办法。
  • 如果使用了break就没有办法阻止它吗?
  • 你把休息时间放在那里。您可以通过删除中断来停止它。如果你想使用try/except,你可以抛出一个异常
  • 抛出异常会跳出循环吗?
  • 它会的,如果你没有在循环中捕捉到它。

标签: python python-3.x error-handling syntax-error break


【解决方案1】:

您不能添加break 异常,因为break 不是异常。

还有操作流程,如果循环不能运行,你的print(i)将不会被执行,所以代码无论如何也不会到达break语句。

如果您试图找出代码在哪个循环中断,您的代码应该也可以在不需要中断的情况下工作。

for i in range(10):
    try #try running the loop
        print(i)
    except: #if the loop breaks
        print("Break excepted") #print this and continue loop

因为try 在for循环内;当出现异常时,循环仍会继续下一次迭代。

当然,您也可以捕获更具体的异常,例如 except IndexErrorexcept KeyErrorThe full list of exceptions is available in the documentation.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-11
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多