Поиск

Свойство StackTrace

Другое полезное свойство класса 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 возвращает стек вызовов в точке, где уловлено исключение, а это может пригодиться для создания журналов и при отладке.