「throw;」で例外を再スローしますが、スタック トレースが正しくありません。
static void Main(string[] args) {
try {
try {
throw new Exception("Test"); //Line 12
}
catch (Exception ex) {
throw; //Line 15
}
}
catch (Exception ex) {
System.Diagnostics.Debug.Write(ex.ToString());
}
Console.ReadKey();
}
正しいスタック トレースは次のようになります。
System.Exception: Test at ConsoleApplication1.Program.Main(String[] args) in Program.cs:Line 12
しかし、私は得る:
System.Exception: Test at ConsoleApplication1.Program.Main(String[] args) in Program.cs:Line 15
しかし、15 行目は「throw;」の位置です。これを .NET 3.5 でテストしました。