33

私のコードには、次の再発する try/catch パターンがあります。orionProxy でメソッドを呼び出すときにスローされる例外を処理するために、try/catch ブロックを使用します。

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
}

ポインタ/提案はありますか? さまざまな形式のアクション/タスク/ラムダを試しましたが、orionProxy.CheckForException(?) で例外を適切にトラップできないため、ShowContacts は実行されません。

4

1 に答える 1