0
我疑难解答老的源代码,并遇到了如下语句:在try/catch语句C#Monitor.Exit
if (Monitor.TryEnter(lockObj))
{
try
{
//does something
if (failing_condition)
{
Monitor.Exit(lockObj);
throw new Exception("Oops!");
}
catch (Exception ex)
{
throw ex;
}
finally
{
Monitor.Exit(lockObj);
}
}
}
的代码与System.Threading.SynchronizationLockException: Object synchronization method was called from an unsynchronized block of code.
崩溃是否有一个安全的方式来拨打Monitor.Exit()
在失败的条件和正常执行完成?
在这种情况下,“catch”块将覆盖可能在此处指定的异常详细信息。 – VMAtm