在try{}catch(){}中如何合理使用临界对象?
临界对象:lockObject形如:
try{
  lockObject.lock();
  ...
  lockObject.Unlock();
}
catch(...){
  lockObject.Unlock(); //这里也要加吧,有可能从try块中流程转到这里了,所以并没有执行到try中的Unlock
}