у меня есть уже существующий код, который мне нужно обернуть действием, которое должно происходить всегда, у меня есть callbact для динамического вызова, я хочу реализовать действие там, но что мне делать, если динамическое действие вызывает исключение
, в каких случаях обратный вызов не будет запущен?
Допустим, у меня есть функция делегата
public delegate void SomeFunc();
Я хочу вызвать динамический вызов с обратным вызовом
public void ExecutedTask()
{
//some task that throw exception...
}
private void Callback(IAsyncResult result)
{
//this should allways be called!
}
public void action()
{
SomeFunc worker = new SomeFunc(ExecutedTask);
try{
worker.BeginInvoke(Callback,null);
}
catch(exception ex) // which exceptions should i catch???
{
Callback(null);
}
}
Будет ли обратный вызов всегда выполняться?какие исключения я должен обработать в try catch?