Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2012, 16:01   #1
Selestis
Форумчанин
 
Аватар для Selestis
 
Регистрация: 21.01.2009
Сообщений: 719
По умолчанию Exception из другой сборки

Здраствуйте!

Столкнулся со странной (для меня) ситуацией: есть сборка (внимание: сборка в том же солюшне), которую я динамически гружу, и в которой reflection'ом вызываю некий метод некоего класса. Этот метод может бросать исключение, так что вызов Invoke я заворачиваю в try и обрабатываю пришедший InvokationTargetException. Всё казалось бы хорошо, но нет! При выбросе исключения, отладчик останавливает выполнение и показывает место выброса с соответствующим сообщением (unhandled exception). Самое смешное в том что если продолжить работу, то всё нормально) Словно его и не было - всё обработалось в нужном мне блоке. Видимо связано с тем что сборка в проекте, но грузится динамически...
Вопрос: как сделать так чтобы
а) Исключение ловилось нормально
б) Чтобы отладчик не показывал такое исключение
Лучше конечно (а) =)

Спасибо
Изобретатель велосипедов
Selestis вне форума Ответить с цитированием
Старый 20.11.2012, 16:11   #2
Guy
Форумчанин
 
Регистрация: 15.12.2010
Сообщений: 398
По умолчанию

Исключить InvokationTargetException из исключений требующих останова. ctrl+alt+e там крестик отрой и найди исключение.
Guy вне форума Ответить с цитированием
Старый 20.11.2012, 16:27   #3
Selestis
Форумчанин
 
Аватар для Selestis
 
Регистрация: 21.01.2009
Сообщений: 719
По умолчанию

Не всё так просто, это я бы и сам сообразил) Сообщение отладчика вылезает не на этот Exception, а на тот который был брошен внутри самого метода.
Изобретатель велосипедов
Selestis вне форума Ответить с цитированием
Старый 21.11.2012, 00:32   #4
masax
Форумчанин
 
Регистрация: 01.10.2008
Сообщений: 248
По умолчанию

а может у тебя Exception происходит в другом месте до того что ты прописал?
Контакты
skype, почта: bm@kwax.ru
masax вне форума Ответить с цитированием
Старый 21.11.2012, 12:46   #5
Selestis
Форумчанин
 
Аватар для Selestis
 
Регистрация: 21.01.2009
Сообщений: 719
По умолчанию

Вряд ли. Я же сказал, что этот эксепшн обрабатывается как надо, но перед тем как найден обработчик исключения, отладчик показывает своё назойливое сообщение, непонятно почему.
Изобретатель велосипедов
Selestis вне форума Ответить с цитированием
Старый 21.11.2012, 12:58   #6
Reskov
Форумчанин
 
Аватар для Reskov
 
Регистрация: 17.12.2008
Сообщений: 250
По умолчанию

Для начала попробуйте советы из интернета. Надеюсь я правильно Вас понял и нагуглил то что надо)

Tools -> Options -> Debugging -> General -> Enable Just My Code.
или
Код:
class Program
{
    static void Main()
    {
        DelegateApproach();
        MethodInfoApproach();
    }

    static void DelegateApproach()
    {
        try
        {
            Action action = (Action)Delegate.CreateDelegate
                                   (typeof(Action), GetMethodInfo());
            action();
        }
        catch (NotImplementedException nie)
        {

        }
     }

    static void MethodInfoApproach()
    {
        try
        {
            GetMethodInfo().Invoke(null, new object[0]);
        }
        catch (TargetInvocationException tie)
        {
            if (tie.InnerException is NotImplementedException)
            {


            }
        }
    }

    static MethodInfo GetMethodInfo()
    {
        return typeof(Program)
                .GetMethod("TestMethod", BindingFlags.NonPublic | BindingFlags.Static);
    }    

    static void TestMethod()
    {
        throw new NotImplementedException();
    }
}
http://stackoverflow.com/questions/4...ide-the-method
http://stackoverflow.com/questions/2...ght-by-the-ide
Reskov вне форума Ответить с цитированием
Старый 21.11.2012, 13:59   #7
Selestis
Форумчанин
 
Аватар для Selestis
 
Регистрация: 21.01.2009
Сообщений: 719
По умолчанию

Видимо плохо гуглил - то что нужно! =)
Спасибо, Reskov, тема закрыта.
Изобретатель велосипедов
Selestis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сборки василий- C# (си шарп) 0 30.08.2012 13:49
Соответствие сборки деталей ПК маГГ Компьютерное железо 7 24.09.2011 12:44
Настройка сборки проекта =ЭLL= Общие вопросы C/C++ 0 28.06.2011 18:13
Создание сборки maxam4 Операционные системы общие вопросы 1 10.11.2010 16:05
Сборки Windows Bearw08 Windows 20 30.03.2009 00:38