Này, nếu tôi có khối sau trên C# mã:Exceptions bên trong khối khóa
public class SynchedClass
{
public void addData(object v)
{
lock(lockObject)
{
//Shall I worry about catching an exception here?
//Do the work
//arr.Add(v);
}
}
private List<object> arr = new List<object>();
private object lockObject = new object();
}
tôi sẽ cố gắng để bắt ngoại lệ bên trong khối lock
? (Mối quan tâm chính của tôi là ngoại lệ có thể được nâng lên bên trong khóa sẽ ngăn khóa không bị "mở khóa").
Vì vậy, cách tôi viết nó ở trên phải là tốt, phải không? – c00000fd
Nếu bạn cuối cùng bắt được ngoại lệ ở đâu đó lên ngăn xếp cuộc gọi, sau đó nó sẽ là ok. Nếu không, ứng dụng của bạn sẽ bị lỗi :) – alex