【发布时间】:2009-03-12 16:47:07
【问题描述】:
这是一个发生在锁内的异常示例,带有一个 try-catch 块。
int zero = 0;
int j = 10;
lock (sharedResource.SyncRoot)
{
try
{
j = j / zero;
}
catch (DivideByZeroException e)
{
// exception caught but lock not released
}
}
如何安全地释放这个锁?
【问题讨论】:
-
为证明这一点而创建 IL 的旁注:由于 div/zero 错误,上述代码甚至无法编译 :)
标签: c#