问题标签 [try-catch-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 回答
27538 浏览

c# - 如果我从 C# 中的 try/finally 块返回,finally 中的代码是否总是运行?

它似乎按照一些初始测试进行,但我想知道它是否可以保证返回,或者在某些情况下它是否不能返回?这对我的应用程序至关重要,但我还没有找到不会返回的用例。
我想获得这方面的专业知识。

0 投票
1 回答
6777 浏览

javascript - 我可以在 Node.js 的 javascript 中使用 catch(e if e instanceof SyntaxError) 吗?

我在MDN上阅读了有关 try catch(e if e instanceof ...) 块的信息,但是,在 Node.js 中尝试它时,我得到一个 SyntaxError: Unexpected token if。

如果这不起作用,是否有另一种方法来捕获特定异常,而不是可能发生的一切?

0 投票
1 回答
1584 浏览

java - java: 例外:总是最终到达?

可能重复:
finally 块是否总是运行?

让我们想象以下场景:

如果在 try 块中抛出“MyException”并且不会被捕获 - 它们最终会到达块,对吗?

如果它是一个运行时异常,会被抛出怎么办?会到达 finally 块吗?

是否存在无法到达 finally 块的情况?

感谢您的回答:-)

0 投票
2 回答
645 浏览

c# - Try/Catch/Finally,在 finally 中使用 Catch 的异常?

try catch finally在这里查看了其他一些问题,但我不确定这个问题是否已得到解答。做类似的事情是否闻起来很糟糕:

基本上,我试图确保某些代码(在 try/catch/finally 之外)运行,并且如果发生异常则抛出异常,但直到所述代码运行之后。我不能将所有代码都放在finally块中,因为它超出了某些条件。

如果这样做,事实上,闻起来很糟糕(我怀疑它确实如此),人们将如何实现这一目标?

0 投票
3 回答
23140 浏览

java - 在 finally 块中,我可以判断是否抛出了异常

可能重复:
是否可以在我进入 finally 块之前检测是否发生异常?

我有一个工作流方法可以做事,如果发生错误则抛出异常。我想将报告指标添加到我的工作流程中。在下面的 finally 块中,有什么方法可以判断 try/catch 块中的方法之一是否引发了异常?

我可以添加自己的 catch/throw 代码,但更喜欢更简洁的解决方案,因为这是我在项目中重用的模式。

0 投票
6 回答
183 浏览

java - finally 阻止行为不同

我有这样的条件

现在我想总结一下str = "condition3";。由于 finally 块总是运行,因此无法满足我的需求。还有什么可以做的。

0 投票
6 回答
288 浏览

java - 为什么要选择使用 finally 语句而不是 catch 语句?(爪哇)

我相对较新Java,我仍在努力了解基本面。try-catch我一直在以语句的形式学习异常处理。这些很好,我明白我应该如何以及为什么要使用它们。让我感到困惑的是这些try-finally陈述。

更具体地说,我不明白为什么我不能只使用catch语句来做同样的事情。选择将一些命令放在finally语句中而不是在语句中放置相同的语句有什么好处catch?语句不会仍然以完全相同的方式执行吗?

对不起,如果这是一个愚蠢或幼稚的问题。我只是无法弄清楚使用该finally语句的好处。

0 投票
4 回答
4170 浏览

c# - C# throw and finally 是什么意思?

假设你正在运行一个程序,

并且它符合“THROW”声明......会发生什么?程序会停止吗?会继续吗?

“终于”是为了什么?

请我用简单的话来解释

0 投票
4 回答
4140 浏览

c# - 如果 catch 块包含 continue 语句,finally 块何时执行?

我有一些看起来像这样的代码:

目标是尝试为集合中的每个对象写出一个临时文件,尝试将该文件加载到需要文件名的外部 API 中,然后在完成后清理临时文件。如果在将文件写入磁盘或将其加载到外部 API 时发生错误,我只想记录错误并转到下一个对象;我不能问用户该怎么做。

当您在 catch 处理程序中有 continue 语句时,我有点不确定 finally 块的时间是如何工作的。无论 try 块中是否引发异常,此代码是否会(尝试)删除正确的文件?或者 catch 语句中的 continue 是否在 finally 块运行之前生效?

0 投票
1 回答
748 浏览

django - **finally:* 子句的语法错误在哪里?

我正在尝试在生产服务器上为 Django 应用程序运行 Selenium 测试。

我在finally:子句上遇到语法错误。

我看不出错误在哪里,并且所有测试在开发中都运行良好。

这是代码:

这是回溯: