我在try块中打开了一个数据库连接。如果我进入try块,然后停止调试,finally块会被执行吗?换句话说,连接是否保持打开状态?
我在try块中打开了一个数据库连接。如果我进入try块,然后停止调试,finally块会被执行吗?换句话说,连接是否保持打开状态?
不,如果你从调试器中终止应用程序,则不会执行finally
块。整个进程都被终止了。这可能会导致未被释放的引用。(如果你只是分离,它会继续运行)
连接不会保持打开状态。服务器迟早会断开连接。
这取决于应用程序的类型:如果是 Web 应用程序,则剩余的代码将执行,因为它可以从生成的 .dll 文件访问。如果是 Windows 应用程序,则 finally 块将不会被执行。