Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Узнать в какой процедуре выполняется код Добавлено: 21.10.11 10:01  

Автор вопроса:  час
Try

Catch ex As Exception
  MsgBox(ex.Message)
End Try


В отлове ошибок используем такой код, а как программно узнать в какой процедуре происходит всё это?

Можно конечно вручную написать
Try

Catch ex As Exception
  MsgBox("Моя_Процедура" & ex.Message)
End Try


Но есть ли программные средства узнать - в какой процедуре выполняется код?

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 час



Вопросов: 3
Ответов: 5
 Профиль | | #1 Добавлено: 21.10.11 11:23
Да! есть

Reflection.MethodInfo.GetCurrentMethod().Name()

Ответить

Номер ответа: 2
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #2 Добавлено: 21.10.11 11:25
Есть.
  1. Dim methodName As String = ex.StackTrace.GetFrame(1).GetMethod().Name.Split('.').Last()

Ответить

Номер ответа: 3
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #3 Добавлено: 21.10.11 11:26
GetFrame(0) – текущий фрейм (.GetMethod() – текущий метод),
GetFrame(1) – фрейм на 1 уровень вверх по стеку (.GetMethod() – метод, вызвавший текущий)

и т.д.

Ответить

Номер ответа: 4
Автор ответа:
 час



Вопросов: 3
Ответов: 5
 Профиль | | #4 Добавлено: 21.10.11 13:57
Вон оно даже как...
Спасибо!

Ответить

Номер ответа: 5
Автор ответа:
 BG(Алексей)



Вопросов: 26
Ответов: 295
 Профиль | | #5 Добавлено: 22.10.11 01:59
Пожалуйста.
Только это не правильно. Одинаковых ошибок не бывает, поэтому каждый обработчик должен обрабатывать ошибку по-своему. Уловил?

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам