C# Exception の種類を特定する。

  • デル株式会社
  • C# Exception の種類を特定する

    「デバックしてるんだけど、例外処理でExceptionの種類を特定したい!」って言われた。。
    調べたらいいじゃんって話なんだが、なんか、「catch (Exception exp)」ではなく、
    「catch (ArgumentNullException exp)」な感じにしたいと。。

    MSヘルプ Exception

    MSのヘルプって便利だよね。
    なんかサンプルコードも実行できるし。



    ソース

    いつものように、実行結果には責任とりません。

    ソース

    
    // **********************************
    // 実行結果には、責任取りません。
    // 使用時は自己責任でお願いします。
    // **********************************
    
    using System;
    using System.IO;
    
    namespace ExceptionTest
    {
        class Program
        {
            static void Main(string[] args)
            {
                try
                {
                    // 例外をすろー
                    throw new IOException();
                }
                catch ( Exception ex )
                {
                    Console.WriteLine( "\n\n--------------------ここから---------------------\n\n" );
    
                    Console.WriteLine( "例外種類  :" + ex.GetType().ToString() + "\n");
                    Console.WriteLine( "例外内容  :" + ex.Message + "\n");
                    Console.WriteLine( "例外がスローされたメソッド:" + ex.TargetSite + "\n");
                    Console.WriteLine( "例外ソース :" + ex.Source + "\n");
                    Console.WriteLine( "例外トレース:" + ex.StackTrace + "\n");
    
                    // これでも良い「ex.GetBaseException().ToString()」
    
    
                    Console.WriteLine( "\n\n--------------------ここまで---------------------\n\n");
    
    
                    // 実際、デバック中は、例外が発生したタイミングで、コンソールへ出力されるから、
                    // このソース意味ないんだけどね。。
                    // まぁ、仕事だしね。。
                }
            }
        }
    }
    

    実行結果

    実行結果。

    関連記事

    ページ上部へ戻る