[C#]キャッチした例外の発生場所(ソースコードの行番号)を出力する
try-catch命令で例外をキャッチし、tryブロックで強制的に例外を発生させてみる(以下の例では、配列のインデックスに0を指定)。
} catch (Exception ex) {
Console.WriteLine(ex.Message);
Console.WriteLine(ex.StackTrace);
}
以下のような出力があるはず。
インデックスが配列の境界外です。
場所 ○○.Main(String[] args)
これでは例外が発生した場所がわからないため不便。コマンドラインでコンパイルをする際に-debugオプションを指定すると、例外が発生したときに発生場所(ソースコードの行番号)が出力されるようになる。
>csc.exe -debug ○○.cs
出力は以下のようになるはず。
インデックスが配列の境界外です。
場所 ○○.Main(String[] args) 場所 ○○.cs:行 ××
« [gfortran]配列へのインデックスの指定のチェックと-fbounds-checkオプション | トップページ | [C#]コマンドラインにおけるコンパイラーのオプション »
「C#」カテゴリの記事
- [C#]リストの要素を削除する(2024.05.02)
- [C#]リストに要素を追加する(2024.03.10)
- [C#]リストを作成する(2024.03.09)
- [C#]エラー「CS8370 機能 'target-typed オブジェクトの作成' は C# 7.3 では使用できません。9.0 以上の言語バージョンをお使いください。」(2024.03.08)
- [C#]StreamWriterクラスを使用して文字コードを指定してファイルに書き込む(2024.03.07)
« [gfortran]配列へのインデックスの指定のチェックと-fbounds-checkオプション | トップページ | [C#]コマンドラインにおけるコンパイラーのオプション »

コメント