发展历程 c中的finally块是什么? -技术百科的定义

c中的finally块是什么? -技术百科的定义

目录:

Anonim

定义-最终封锁是什么意思?

在C#的上下文中,finally块是指始终执行的语句块,而不管应用程序执行期间可能发生的意外事件或异常如何。 它可选地与“ try / catch”块一起使用,并保证在退出“ try”块之前必须执行的任何代码的执行,无论应用程序执行成功与否。


执行finally块旨在释放资源,例如数据库连接,这些资源通常数量有限。 通过这种机制,资源的处置比垃圾回收器的完成操作更早发生,从而优化了内存。

Techopedia解释了Final Block

一旦出现异常,就可以使用finally块中的代码来处理异常,清理在“ ​​try”块中分配的内存,或处置“ try”块中使用的持有外部资源(例如文件句柄)的对象。 finally块还有助于执行家政任务,例如在发生异常之前将光标重置为正常状态。


通常,由于执行“ break”,“ goto”,“ continue”或“ return”语句或由于执行了“ break”,“ goto”,“ continue”或“ return”语句而导致控件由于正常执行而退出try块时,将执行finally块中的代码try语句中的异常。


每当try块中发生异常时,控制权就从导致异常的行传递到最近的catch块(异常处理程序),然后传递到finally块。 另外,当在catch块中引发异常时,控制权将转移到finally块。 因此,将跳过发生异常的行之后的代码。


异常不应在finally块中明确抛出。 如果在执行finally块的过程中发生异常,则抛出异常之后的任何代码都不会执行,并且该异常将传播到外部封闭的try块。 如果finally块已经在处理另一个异常,则导致当前异常的处理终止。


注意不要将执行显式转移到finally块中或从finally块中移出,因为这不是有效的转移。

该定义是在C#上下文中编写的
c中的finally块是什么? -技术百科的定义