2

私は非同期環境 (Silverlight) で作業しており、サーバー側に例外を保存するために使用する Logger サービスを使用しています。

次のコードを検討してください。

    catch (Exception ex)
    {
        this.loggerService.LogAsync(ex, "NotesService");
    }

ロガーは次のようになります。

public interface ILoggerService
    {
        Task LogAsync(Exception ex, string tag);
    }

上記のようにコードを記述した場合 (catch が非同期メソッドであっても)、そこに await を配置することはできません。そのままにしておくと、実行が続行されるという警告が表示されます。どちらでもいいです、私は気にしません。エラーをログに記録するだけです。

この警告を抑制できますか、それともより良いパターンを考え出す必要がありますか?

4

1 に答える 1

1

からの完了/エラーを無視したいことが確実であるためLogAsync、次の簡単な回避策を実行できます。

catch (Exception ex)
{
    var _ = this.loggerService.LogAsync(ex, "NotesService");
}
于 2013-03-13T00:12:07.497 に答える