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

c# - try catch 的点最终阻塞?

使用finally有什么区别

并且不使用它?

0 投票
11 回答
144553 浏览

java - Java Try Catch finally 没有 Catch 的块

我正在审查一些新代码。该程序只有一个 try 和一个 finally 块。由于排除了 catch 块,如果 try 块遇到异常或任何可抛出的东西,它是如何工作的?它只是直接进入finally块吗?

0 投票
1 回答
1924 浏览

hibernate - 在最终关闭之前使用休眠在 catch 块中抛出异常

所以,我想对此进行一些确认。我将用伪代码解释。

因此,如果在 try 块中抛出异常,则会话将永远不会关闭。它必须等待池连接超时才能关闭,对吗?如果是这样,是否有更好的做法来用休眠捕获异常?

0 投票
14 回答
57185 浏览

java - 为什么在 catch 之后使用 finally 而不是 code

为什么这样做

而不是这个

0 投票
2 回答
1103 浏览

c# - 最后在c#中阻塞

可能重复:
最终块未运行?

我对 C# 中的 finally 块有疑问。我写了一个小示例代码:

据我所知,不管是否抛出异常,finally 块都假设确定性地运行。现在,如果用户输入“Y” - 抛出 NullReferenceException,执行将移至 catch 时钟,然后移至 finally 块,如我所料。但是如果输入是别的东西 - ArgumentException 被抛出。没有合适的 catch 块来捕获这个异常,所以我认为执行应该移动 finally 块 - 但它没有。有人可以解释一下为什么吗?

感谢大家 :)

0 投票
3 回答
1602 浏览

control-flow - try...catch...finally 控制结构的控制流程

我有一个try... catch...finally块,它catch重新抛出异常:

cleanFloor()在这个例子中,无论是否抛出异常,我都需要执行它。那么问题来了:不管是否在对应的子句中重新抛出异常,该finally子句是否总是catch被执行?

0 投票
6 回答
4992 浏览

c# - 异常处理放置 - C#

我决定在我的代码中删除一些 using 语句,这样我就可以捕获特定的异常并手动处理资源的处置。在实现新的 try/catch 块之后,我重构了一些代码以使其更具可读性和可维护性,我想知道它们是否已正确放置以完成手头的任务。

例子:

在这个例子中,我只围绕 SQL 操作本身实现了 try/catch,我这样做是因为它确保可以注意到抛出的任何异常并正确处理资源。然后我注意到这使 for 循环对异常开放,尽管提供的索引器将受到保护并通过 GUI 创建。

我是否明智地将整个方法封装在 try/catch 语句中,还是我过于谨慎?您可以说我正在寻找管理语句本身位置的最佳实践。

谢谢你的时间!

编辑:

我知道 using 语句在处理资源的处置和管理方面是理想的,但是正如问题开头提到的,我希望能够捕获特定类型的异常,特别是那些从 SQLite 组件生成的异常。

0 投票
7 回答
496 浏览

java - Java:关于 finally 块的假设问题

如果在 finally 块中抛出错误会发生什么?它是否在相应的 catch 子句之一中得到处理?

0 投票
3 回答
605 浏览

java - Java finally 阻塞问题

是否有一种内置方法可以在 finally 块中确定您是否刚从 catch 块中出来?我知道这可以通过如下所示的变量轻松完成,但我只是好奇是否有一种标准的内置方法可以做到这一点。

更新:这里是 closeConnection() 方法的内容,它只是试图关闭所有的数据库对象:

0 投票
8 回答
62235 浏览

java - catch 和 finally 中 return 语句的行为

请参阅以下代码并解释输出行为。

结果是返回 Val : 10。

Eclipse 显示警告:finally block does not complete normally.

catch 块中的 return 语句会发生什么?