У меня есть следующий повторяющийся шаблон try/catch в моем коде. Использование блока try/catch для обработки любых исключений, возникающих при вызове метода в orionProxy.
async private void doGetContacts()
{
try {
currentContacts = await orionProxy.GetContacts (); // call method in orionProxy
ShowContacts (); // do something after task is complete
}
catch (Exception e) {
orionProxy.HandleException (e); // handle thrown exception
}
}
Что я хотел бы написать, это примерно следующее.
async private void doGetContacts()
{
currentContacts = await orionProxy.CheckForException(orionProxy.GetContacts ());
ShowContacts (); // do something after task is complete but shouldn't run on exception
}
Любые указатели/предложения? Я пробовал различные формы Actions/Tasks/Lambdas, но ничто не приведет к ловушке исключения в orionProxy.CheckForException(?), Поэтому ShowContacts не запускается.