Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Виключення Win32



Разом з програмними викликами виключень за допомогою інструкції throw, виключення генеруються системними програмами Win32 API у відповідь на збій апаратного або програмного забезпечення. Такі виключення називаються виключеннями Win32 або структурованими виключеннями.Win32 є інтерфейсом низького рівня, використовуваним при розробці 32-розрядних програм для операційних систем Windows.

Апаратні помилки, що генерують виключення Win32, це такі помилки, як ділення на нуль, некоректне звернення до пам'яті та інші. У відповідь на певні помилки програмного забезпечення, такі, наприклад, як брак пам'яті, деякі функції Win32 API можуть генерувати виключення, а можуть просто повертати код помилки.

Наприклад, якщо функції::НеарА11ос() передається прапор HEAP_GENERATE_EXCEPTIONS, то при невдалій спробі розподілу пам'яті генерується виключення.

Для кожної функції Win32 API, яка може генерувати виключення, в документації MSDN описані всі випадки, в яких відбувається генерація виключення.

Якщо виникло виключення Win32, а програма не надає для нього обробник, видається повідомлення про помилку і програма завершується.

Хай, наприклад, в програмі зустрілися дві інструкції, виконання останньої з яких приводить до ділення на нуль:

int i = 0;

int j = 5 / i;

і в програмі відсутній обробник виключень Win32. В цьому випадку на екран буде виведено вікно повідомлення, зображене на мал. 4.1.

  Малюнок 4.1 Вікно повідомлення про необроблене виключення

Після клацання на кнопці з написом Details нижче за повідомлення в додатковому вікні з прокруткою з'явиться докладніша інформація про виключення, як це показано на мал. 4.2.

  Малюнок 4.2 Розгорнуте вікно повідомлення про виключення

Якщо в цьому вікні клацнути по кнопці з написом Continue, програмі буде повернуто управління на інструкцію, наступну за інструкцією, що викликала виключення. Програма після цього може спробувати продовжити свою роботу.

При клацанні на кнопці з написом Quit робота програми буде негайно припинена.





Дата публикования: 2014-11-03; Прочитано: 589 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...