Ссылочный метод и класс исключения (c #, .net) - PullRequest
1 голос
/ 31 марта 2011

У меня есть класс с методом, и я хочу вызвать исключение в методе. В этом я хотел бы сослаться на метод и класс, в котором было сгенерировано исключение, чтобы легче найти источник ошибки.

public class SomeClass
{
    public void SomeMethod()
    {
        (..)
        Throw new Exception("An error occurred. Method:" + ?? + ", Class:" + ?? +");
    }

Ответы [ 4 ]

3 голосов
/ 31 марта 2011

Вам не нужно это делать. Посмотрите на свойство StackTrace исключения в вашем блоке try-catch.

2 голосов
/ 31 марта 2011

Эта информация уже будет в трассировке стека.Нет необходимости включать его и в сообщение.

Если у вас абсолютно есть , есть MethodBase.GetCurrentMethod().Для этого класса вы хотели бы получить класс объекта времени выполнения, для которого был вызван метод, или метод, который фактически выполняется?(Хотя я бы придерживался трассировки стека ...)

1 голос
/ 31 марта 2011

На самом деле у вас уже есть вся эта информация, и вам просто нужно получить к ней доступ через свойство StackTrace Исключения с чем-то вроде:

        try
        {
            // to do something exceptional
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.StackTrace);
        }

Этот пример просто напишите в std out, но вы можетеделайте все с нужной вам информацией StackTrace, включая запись в файл или в базу данных.

0 голосов
/ 31 марта 2011

Вы можете использовать для этого класс StackTrace .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...