私は非同期環境 (Silverlight) で作業しており、サーバー側に例外を保存するために使用する Logger サービスを使用しています。
次のコードを検討してください。
catch (Exception ex)
{
this.loggerService.LogAsync(ex, "NotesService");
}
ロガーは次のようになります。
public interface ILoggerService
{
Task LogAsync(Exception ex, string tag);
}
上記のようにコードを記述した場合 (catch が非同期メソッドであっても)、そこに await を配置することはできません。そのままにしておくと、実行が続行されるという警告が表示されます。どちらでもいいです、私は気にしません。エラーをログに記録するだけです。
この警告を抑制できますか、それともより良いパターンを考え出す必要がありますか?