Другое полезное свойство класса
System.Exception — StackTrace.
Оно позволяет определить — в любой точке, где имеется допустимый объект
System.Exception, —
как выглядит текущий стек вызовов. Взгляните на код:
using System;
class StackTraceTestApp {
public void Open(String fileName) {
Lock(fileName);
// ... }
public void Lock(String fileName) {
// Возникла ошибка.
throw new Exception("Невозможно блокировать файл"); }
public static void Main() <
StackTraceTestApp test = new StackTraceTestAppO;
try {
test.Open("c:\\test.txt");
// Работа с файлом. >
catch(Exception e) <
Console.WriteLine(e.StackTrace); } > >
Этот пример отобразит следующее: at StackTraceTest.Main()
Следовательно, свойство
StackTrace
возвращает стек вызовов в точке, где уловлено исключение, а это может пригодиться для создания журналов и при отладке.