最后返回声明

San*_*tha 5 c# return-value

我有一个ac#program充当客户端和许多客户端程序,它再次是ac#windows应用程序连接到这个c#server程序从sqlite数据库读取数据.为了避免连接多个客户端时出现锁定问题,我使用了以下代码,

System.Threading.Monitor.Enter(Lock);

try                       
{                     
    filter.Execute();//get data from database
    Request.Clear();
    return filter.XML;//create xml and return to client
}
finally
{
    System.Threading.Monitor.Exit(Lock);
}
Run Code Online (Sandbox Code Playgroud)

服务器有时会挂起并需要重新启动服务器程序.在最终之前做出退货声明是一个很好的做法吗?

关心sangeetha

bas*_*h.d 4

来自MSDN

通过使用finally块,您可以清理try块中分配的所有资源,并且即使try块中发生异常也可以运行代码。通常,当控制离开 try 语句时,finally 块的语句就会运行。控制权的转移可以作为正常执行的结果、执行break、continue、goto或return语句的结果、或者从try语句传播异常的结果。

在已处理的异常中,保证运行关联的finally 块。但是,如果异常未处理,则finally块的执行取决于异常展开操作的触发方式。反过来,这取决于您的计算机的设置方式。有关详细信息,请参阅 CLR 中未处理的异常处理。