使用try-catch-finally构造来检索数据库记录,似乎我需要在try
块内返回一个值以防万一(如果函数的结尾不是为了达到)。但是如果我返回try
,finally
代码将到达(关闭连接等)?如果`try`或`catch`块中有`return`,`finally`块会被执行吗?
6
A
回答
6
是,
的try/catch
表达式的结果将是本try
或catch
块的最后一行,但finally
块总会执行不管是什么
1
是。
finally
的要点是为了确保无论代码使用什么路径离开try
块,都会执行一些清理代码。它发生在普通返回时,抛出异常并捕获异常时,以及抛出此异常时未被此try
块捕获的异常。唯一会阻止它运行的是如果程序根本无法离开try
块;它内部有一个无限循环,或者进程被某些阻止这种正常处理发生的方法所杀死,或者是某种顺序。即使您退出try
块中的进程,在进程实际上死亡之前将会执行finally
块,我也很确定。
相关问题
- 1. try或catch块中断时finally块不执行
- 2. Java - 如果我返回一个catch块,finally块会被执行吗?
- 3. java中的try-catch-finally块
- 4. 使用没有'catch'块的'try-finally'块
- 5. Try-catch-finally-return澄清
- 6. 如果catch块包含continue语句,何时执行finally块?
- 7. 如果在catch块中抛出异常,是否会执行finally块?
- 8. Try try-catch-finally
- 9. 返回try&catch与return in finally?
- 10. 如果catch块或finally块有一些异常会发生什么?
- 11. try/catch块中的代码未执行
- 12. 从try块跳跃finally块
- 13. GCD @try @catch @finally
- 14. try/finally块问题
- 15. 是我的try catch块吗?
- 16. 在try/catch块之后使用finally块vs写入代码
- 17. Regex识别包含在.cs文件中的Try-Catch和Try-Catch finally块
- 18. try catch块
- 19. try catch块
- 20. try-catch块
- 21. try catch块宏
- 22. 在try catch块
- 23. 的try/catch块
- 24. 如何在Java中正确使用try-catch-finally块?
- 25. catch块中的异常会被后面的catch块捕获吗?
- 26. 我的try-catch块有问题吗?
- 27. 在Java中的try-catch块中嵌入try-catch块
- 28. 是否有任何情况下finally块不会被执行?
- 29. Try-Catch中的变量不可用于其他Try-Catch块吗?
- 30. 如果在finally块之后出现错误,是否有办法处理try-catch-finally中的错误?
即使'try'块中有明确的'return'语句? – Rogach
是的。 [并且这些其他字符适合最小长度] –
'finally'块不执行的唯一情况是''try'或'catch'块中调用'sys.exit()'时。 – axel22