powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Непонятка с работой Exception
2 сообщений из 2, страница 1 из 1
Непонятка с работой Exception
    #38361967
Саша_un
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.
Есть 2 формы. В первой написано следующее:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
  public partial class Form1 : Form
  {
    public Form1()
    {
      InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
      try
      {
        Form2.ShowModalForm2();
      }
      catch (Exception e1)
      {
        MessageBox.Show("Exception: \"" + e1.Message + "\"");
      }
    }
  }


А во второй, соответственно, вот что:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
  public partial class Form2 : Form
  {
    public static void ShowModalForm2()
    {
      using (Form2 frm = new Form2())
      {
        frm.ShowDialog();
      }
    }

    public Form2()
    {
      InitializeComponent();
    }

    private void Form2_Load(object sender, EventArgs e)
    {
      throw new Exception("My test Exception");
    }
  }


т.е. во второй форме имитируется ситуация, когда в обработчике события Load возникло исключение.
Так вот. Если запускать это дело из самой среды разработки, то всё работает, как и ожидалось - исключение перехватывается, и выдаётся сообщение Exception: "My test Exception". Если же запустить EXE - шник сам по себе, ничего подобного не происходит, а вызывается обработчик необработанного исключения:

************** Текст исключения **************
System.Exception: My test Exception
в testexc.Form2.Form2_Load(Object sender, EventArgs e) в D:\testexc\Form2.cs:строка 29
в System.Windows.Forms.Form.OnLoad(EventArgs e)
в System.Windows.Forms.Form.OnCreateControl()
в System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
в System.Windows.Forms.Control.CreateControl()
в System.Windows.Forms.Control.WmShowWindow(Message& m)
в System.Windows.Forms.Control.WndProc(Message& m)
в System.Windows.Forms.ScrollableControl.WndProc(Message& m)
в System.Windows.Forms.Form.WmShowWindow(Message& m)
в System.Windows.Forms.Form.WndProc(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
и т.д.

Почему так? Получается, отладочный режим не полноценный?
Или я что-то сделал не так при обработке исключения? (но тогда бы и под отладчиком было то же самое, я полагаю...)

Это студия - 10, операционка XP.
...
Рейтинг: 0 / 0
Непонятка с работой Exception
    #38362137
Фотография Torre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что должно происходить? В первом случае ты запускаешь приложение через прокладку - хост среды разработки, во втором приложение уже работает с WinApi непосредственно.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Непонятка с работой Exception
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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