Как отловить в дебаггере ошибку, вызванную методом Invoke?

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Snussi
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 151
Зарегистрирован: 21.07.2004 (Ср) 18:08
Откуда: Москва, Россия

Как отловить в дебаггере ошибку, вызванную методом Invoke?

Сообщение Snussi » 06.05.2005 (Пт) 17:11

Итак, вопрос в следующем. Для начала код:
Код: Выделить всё

' Есть модуль
Module SuperModule
   Public Sub ErrorSub
           ' В этой процедуре возникает ошибка
   End Sub
End Module

' Из другого модуля процедура ErrorSub вызывается следующим образом
Dim mAssembly As System.Reflection.Assembly
mAssembly = System.Reflection.Assembly.GetExecutingAssembly

Dim BaseType As Type
BaseType = mAssembly.GetType(mAssembly.GetName.Name + "SuperModule")

Dim tmpMethod As System.Reflection.MethodInfo
tmpMethod = BaseType.GetMethod("ErrorSub")

tmpMethod.Invoke(vbNull, Nothing)

Все работает, метод выполняется, но в случае Exception деббагер останавливается на Invoke с System.Reflection.TargetInvocationException, а хотелось бы, чтобы он вставал на той строчке ErrorSub, которая вызвала ошибку. Это возможно?

Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

    TopList