[C# 6.0新機能] 例外フィルター

C# 6.0ではcatch句にフィルターを使用することができるようになりました。
フィルターはwhenで指定します。
以下は、『例外発生時にMessageプロパティに「例外」というメッセージが含まれている場合のみ』をwhenでフィルターしています。

try
{
    throw new Exception("例外エラー発生");
}
catch (Exception e) when (e.Message.IndexOf("例外") > -1)
{
    // 例外メッセージの先頭が"例外"で始まっている場合に処理
    Console.WriteLine("エラー発生");
}
catch
{
    Console.WriteLine("その他の例外発生");
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください