python - 在 except block 之后执行(部分)try block

标签 python exception

我知道这是一个奇怪的问题,可能没有答案。 在捕获异常并执行 except block 后,我正在尝试执行 try block 的其余部分。

例子:

[...]
try:
 do.this()
 do.that()
 [...]
except:
 foo.bar()
[...]

do.this() 引发由 foo.bar() 管理的异常,然后我想执行 do.that() 中的代码。我知道没有 GOTO 语句,但可能是某种 hack 或解决方法!

谢谢!

最佳答案

try...except... block 捕获一个 异常。这就是它的用途。它在 try 中执行代码,如果引发异常,则在 except 中处理它。您不能在 try 中引发多个异常。

这是故意的:构建的要点是您需要显式来处理发生的异常。返回到 try 的末尾违反了这一点,因为 except 语句处理了不止一件事。

你应该这样做:

try:
    do.this()
except FailError:
    clean.up()

try:
    do.that()
except FailError:
    clean.up()

这样您提出的任何异常都会得到显式处理。

关于python - 在 except block 之后执行(部分)try block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4225921/

相关文章:

exception - C# 索引超出范围异常

java - 当请求的页面或方法找不到时如何定义全局页面?

python - 打开CV错误:Sizes of input arguments do not match

python - 当客户端完成其代码时,套接字服务器将关闭。怎样才能阻止它停止呢?

python - 如何使用 PyCharm 插件在 IntelliJ IDEA 中配置 Python 解释器?

android - GcWatcher.finalize 10 秒后超时

java.sql.SQLException : Access denied for user 'TMing' @'localhost' (using password: YES)

python - 在后台运行基于 GUI 的应用程序的 .exe

python - 计算出现次数

java - 具有多个 catch 语句的无法访问的代码