znaczy, jeśli mam następujący blok na kod C#:Wyjątki wewnątrz bloku zamka
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();
}
postaram się złapać wyjątki wewnątrz bloku lock
? (Moją główną obawą jest to, że wyjątek może zostać podniesiony wewnątrz blokady, co uniemożliwi odblokowanie blokady.)
Więc sposób, w jaki napisałem powyżej, powinien być dobry, prawda? – c00000fd
Jeśli w końcu złapiesz wyjątek gdzieś na stosie wywołań, to powinno być OK. W przeciwnym razie Twoja aplikacja się zawiesi :) – alex