- 2021-10-15
- Visual C#
C# Exception の種類を特定する
「デバックしてるんだけど、例外処理でExceptionの種類を特定したい!」って言われた。。
調べたらいいじゃんって話なんだが、なんか、「catch (Exception exp)」ではなく、
「catch (ArgumentNullException exp)」な感じにしたいと。。
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");
// 実際、デバック中は、例外が発生したタイミングで、コンソールへ出力されるから、
// このソース意味ないんだけどね。。
// まぁ、仕事だしね。。
}
}
}
}
実行結果
実行結果。
|












