我的代码中有以下重复出现的 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 无法运行。