Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Visual Studio. Запуск приложения в режиме отладчика. Продолжить выполнение после экзепшена / 6 сообщений из 6, страница 1 из 1
08.03.2016, 01:16
    #39187388
dmitrybv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Visual Studio. Запуск приложения в режиме отладчика. Продолжить выполнение после экзепшена
Добрый день.

Подскажите, как заставить Visual Studio продолжить выполнение программы если отладчик остановился на пойманном экзепшене.
По F5 выполняется неопределенный функционал, после чего опять останавливается на том же самом экзепшене.
...
Рейтинг: 0 / 0
08.03.2016, 15:31
    #39187529
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Visual Studio. Запуск приложения в режиме отладчика. Продолжить выполнение после экзепшена
dmitrybv,

мы не экстрасенсы, код в студию или сказать что-то определенное, невозможно
...
Рейтинг: 0 / 0
08.03.2016, 16:21
    #39187547
dmitrybv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Visual Studio. Запуск приложения в режиме отладчика. Продолжить выполнение после экзепшена
У меня в проекте в любом месте с экзпешеном такая проблема.

Вот, тапример, кинуть на форму кнопку и написать обработчик:

private void button8_Click(object sender, EventArgs e)
{
throw new Exception("Test Exception");
}

При запуске без отладчика выводится окно о необработанном экзепшнене и при нажатии в диалоге Continue программа продолжает работать.

При запуске с отладчиком программа останавливается на
throw new Exception("Test Exception");
и больше ее уже никуда не сдвинуть, только Shift+F5 полная остановка.
А хочется иметь возмность выбрать, либо полная остановка, либо продолжить выполнение как в режиме без отладчика.
...
Рейтинг: 0 / 0
08.03.2016, 20:28
    #39187630
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Visual Studio. Запуск приложения в режиме отладчика. Продолжить выполнение после экзепшена
dmitrybv,

продолжить после Exception'а можно только, если он был возбуден из Dispatcher'а или где то внутри WinForms, то есть внутри цикла UI потока который обрабатывает "сообщения", то есть если в стеке вызовов есть Dispatcher (для WPF) или форма\кнопка и т.д. для WF, то её можно обработать и не завершать работу программы, остальные не обработанные ошибки будут считаться "критическими".
...
Рейтинг: 0 / 0
09.03.2016, 19:44
    #39188546
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Visual Studio. Запуск приложения в режиме отладчика. Продолжить выполнение после экзепшена
dmitrybv,

Рекомендую перехватывать все неперехваченные (каламбурчик-с!) исключения в Program.cs


Например что-то в этом духе

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Threading;

namespace PC_Registration
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>

static void StopThreadException(object sender, System.Threading.ThreadExceptionEventArgs e) 
        {
#if DEBUG
            
            MessageBox.Show(e.Exception.Message);
#endif
        }
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(StopThreadException);
            Application.SetCompatibleTextRenderingDefault(false);

          
                Application.Run(new FormMain());


        }

    }
}
...
Рейтинг: 0 / 0
10.03.2016, 06:11
    #39188723
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Visual Studio. Запуск приложения в режиме отладчика. Продолжить выполнение после экзепшена
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Visual Studio. Запуск приложения в режиме отладчика. Продолжить выполнение после экзепшена / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]