标签: finally

260
推荐指数
10
解决办法
20万
查看次数

Java Try Catch Finally块没有Catch

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

java finally try-catch try-catch-finally try-finally

118
推荐指数
5
解决办法
13万
查看次数

'finally'总是在Python中执行吗?

对于Python中任何可能的try-finally块,是否可以保证finally块总是被执行?

例如,假设我在一个except块中返回:

try:
    1/0
except ZeroDivisionError:
    return
finally:
    print("Does this code run?")
Run Code Online (Sandbox Code Playgroud)

或许我重新提出一个Exception:

try:
    1/0
except ZeroDivisionError:
    raise
finally:
    print("What about this code?")
Run Code Online (Sandbox Code Playgroud)

测试显示finally上面的例子确实执行了,但我想还有其他我没有想过的场景.

是否有任何情况下finally块无法在Python中执行?

python exception-handling finally try-catch-finally

116
推荐指数
4
解决办法
2万
查看次数

finally块总是运行吗?

是否有任何条件最终可能无法在java中运行?谢谢.

java finally

110
推荐指数
8
解决办法
7万
查看次数

在finally块中抛出异常

是否有一种优雅的方法来处理finally块中抛出的异常?

例如:

try {
  // Use the resource.
}
catch( Exception ex ) {
  // Problem with the resource.
}
finally {
   try{
     resource.close();
   }
   catch( Exception ex ) {
     // Could not close the resource?
   }
}
Run Code Online (Sandbox Code Playgroud)

你如何避免try/ catchfinally街区?

java exception finally try-catch

99
推荐指数
5
解决办法
6万
查看次数

使用带有try-except块的python"with"语句

这是将python"with"语句与try-except块结合使用的正确方法吗?:

try:
    with open("file", "r") as f:
        line = f.readline()
except IOError:
    <whatever>
Run Code Online (Sandbox Code Playgroud)

如果是,那么考虑旧的做事方式:

try:
    f = open("file", "r")
    line = f.readline()
except IOError:
    <whatever>
finally:
    f.close()
Run Code Online (Sandbox Code Playgroud)

这里"with"语句的主要好处是我们可以摆脱三行代码吗?对于这个用例来说,这似乎并不令我感到高兴(尽管我理解"with"语句还有其他用途).

编辑:上面两个代码块的功能是否相同?

EDIT2:前几个答案一般性地讨论了使用"with"的好处,但这些似乎在边缘效益.我们已经(或应该已经)多年来明确地调用f.close().我想一个好处是,草率编码器将从使用"with"中受益.

python finally try-catch with-statement except

90
推荐指数
2
解决办法
7万
查看次数

如何在Angular.js中履行promise时始终运行一些代码

在我的Angular.js应用程序中,我正在运行一些异步操作.在它开始之前我用模态div覆盖应用程序,然后一旦操作完成,我需要删除div,无论操作是否成功.

目前我有这个:

LoadingOverlay.start(); 
Auth.initialize().then(function() {
    LoadingOverlay.stop();
}, function() {
    LoadingOverlay.stop(); // Code needs to be duplicated here
})
Run Code Online (Sandbox Code Playgroud)

它运作良好,但我更喜欢像这个伪代码一样更清洁:

LoadingOverlay.start(); 
Auth.initialize().finally(function() { // *pseudo-code* - some function that is always executed on both failure and success.
    LoadingOverlay.stop();
})
Run Code Online (Sandbox Code Playgroud)

我想这是一个相当普遍的问题,所以我想这是可以做到,但不能找到文档中任何事情.有什么想法可以吗?

javascript finally promise deferred angularjs

83
推荐指数
2
解决办法
7万
查看次数

为什么我们使用finally块?

据我所知,以下两个代码片段都将起到同样的作用.为什么要有finally块?

代码A:

try { /* Some code */ }
catch { /* Exception handling code */ }
finally { /* Cleanup code */ }
Run Code Online (Sandbox Code Playgroud)

代码B:

try { /* Some code */ }
catch { /* Exception handling code */ }
// Cleanup code
Run Code Online (Sandbox Code Playgroud)

.net java finally

82
推荐指数
4
解决办法
2万
查看次数

在Java中,关键字"final","finally"和"finalize"的用途是什么?

在Java中,目的是什么做的关键字final,finallyfinalize履行?

java final finally finalize

82
推荐指数
5
解决办法
10万
查看次数

最后在try catch/finally语句中有什么意义

我已经使用了多种语言的try-catch/except-finally变种多年,今天有人问我最后的意思是什么,我无法回答.

基本上为什么你会在最后一个语句中放入一个语句,而不是仅仅将它放在整个try-catch块之后?或者换句话说,以下代码块之间存在差异:

try{ //a}
catch {//b}
finally {//c}


try{//a}
catch{//b}
//c
Run Code Online (Sandbox Code Playgroud)

编辑:人
,我知道最后做了什么,我已经使用了很长时间,但我的问题是在上面的例子中放入//c最后似乎多余,不是吗?

exception-handling finally

65
推荐指数
1
解决办法
6943
查看次数