问题标签 [try-finally]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
509 浏览

delphi - 使用 try/finally try/except 代替 begin/end 是否被认为是一种不好的做法或存在任何缺点?

在我维护的一些应用程序的许多地方,我发现在一个或句子中使用一个try/finallytry/except块的代码避免使用开始/结束for loopif

考虑下一个代码(不是生产代码,只是一个示例)

问题,在delphi中使用try/finally或try/except代替begin/end是否被认为是一种不好的做法、代码气味或存在任何缺点?

更新

对于愚蠢的示例代码,我很抱歉,只是为了澄清 try/finally 和 try/except 不会假装替换 begin/end ,只是为了避免在使用时使用它(开始/结束) try/finally 或 try/except 不需要开始/结束。

0 投票
3 回答
15321 浏览

python - Python:在循环中的 try-finally 语句中使用 continue

将以下代码:

总是打印消息“等待 10 秒……”,休眠 10 秒,然后再做一次?换句话说,finally即使循环被continue-ed,子句中的语句也会运行吗?

0 投票
6 回答
1147 浏览

c# - 使用 finally 而不是 catch

我现在已经多次看到这种模式:

我一直在想:为什么这比使用 catch 进行回滚更好?

确保更改在失败时回滚的两种方法之间有什么区别?

0 投票
3 回答
3853 浏览

java - 使用 try 和 finally 的同步方法的行为

假设以下方法:

我知道即使在 return 语句之后,finally 块仍然会被执行。甚至可以“覆盖”返回值!但我的问题是,该方法会在 return 语句之后还是 finally 之后解锁?

0 投票
3 回答
124 浏览

c# - 在 finally 块中测试返回值

所有,这是一个简单的。finally有没有一种方法可以在不做的情况下测试块内的返回值

我是否必须使用变量result是否有更清洁的方法?

注意:我知道这不是我现在正在做的很多工作。我对 .NET 世界的复杂性很好奇。

0 投票
17 回答
167828 浏览

python - 为什么我们需要 Python 中的“finally”子句?

我不确定为什么我们需要finallytry...except...finally语句中。在我看来,这个代码块

与此相同,使用finally

我错过了什么吗?

0 投票
2 回答
4639 浏览

python - 在 python 中使用“finally”子句的范围是什么?

可能重复:
else 的目的和最后的异常处理

我想了解为什么该finally子句存在于try/except语句中。我理解它的作用,但如果它应该在语言中占有一席之地,我显然会错过一些东西。finally具体来说,在字段中编写子句与在语句之外编写子句有什么区别try/except

0 投票
2 回答
298 浏览

java - 尝试,捕捉,最后执行

可能重复:
在 finally 块中抛出异常

  • 只有在 try 块中抛出异常时才会执行 catch 块。

  • finally 块总是在 try(-catch) 块之后执行,无论是否抛出异常。

我的问题是如果我在 finally 块中遇到异常而不是如何处理它??????

0 投票
5 回答
3106 浏览

c# - 尝试后终于没有调用

由于某种原因,在我的控制台应用程序中,我无法让 finally 块运行。我正在编写这段代码来测试 finally 块是如何工作的,所以它非常简单:

起初我遇到了这里描述的问题,但后来我尝试在 Visual Studio 之外运行程序,但出现“程序已停止响应”错误。

0 投票
8 回答
264 浏览

java - 在java中,有没有办法确保在finally块中调用多个方法?

所以我有一个 try/finally 块。我需要在 finally 块中执行一些方法。但是,这些方法中的每一个都可能引发异常。有没有办法确保在没有嵌套 finally 块的情况下调用(或尝试)所有这些方法?

这就是我现在所做的,这很丑陋:

有没有更优雅的方法来做到这一点?