异常处理不中断

问题描述:

我的源代码的某些部分嵌套在try语句中,以便处理一些运行时错误,同时每一行都必须尝试执行,即使前一行由于运行时错误。异常处理不中断

目前我的代码看起来像这样

try 

    try 
    //statement1 
    except 
    end; 

    try 
    //statement2 
    except 
    end; 

    try 
    //statement3 
    except 
    end; 

finally 
//something 
end; 

我非常肯定走错路,即使最终出认沽运作良好,我不得不为几十行的做到这一点。

如果希望每个语句来执行,那么你必须把它写你做的方式是有实现这个

什么更好的办法。请注意,在这种情况下可能不需要尝试/最后,因为你正在吞咽所有的异常。

但是,代码看起来有点奇怪。我想知道你是否真的需要执行每一个陈述。通常你会写:

try 
    statement1; 
    statement2; 
    statement3; 
except 
    //handle exceptions 
end; 

然后,如果在statement1例外,其他两条线将不会执行。

但是,根本不处理异常并让它们浮动到某个更高级别的处理程序将更为常见。如果你正在使用异常做出例行的逻辑决策,那么这将被认为是不好的做法。

我认为这会有助于您发布一些处理异常的代码以及您期望发生异常的一些细节。然后我们可以给你一些更具体的建议。

+2

+1 - 这有一种“你做错了”的气味。也许他正在移植以“错误恢复下一步”开头的VB代码 – afrazier