Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обработка исключения Access violation reading loca 
:(
    Опции темы
lightforever
Дата 26.10.2010, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 4.9.2009

Репутация: нет
Всего: нет



Изучаю обработку исключений. 

По идее этот фрагмент кода должен ловить ВСЕ исключения насколько я понял:
Код
try
{
}
catch(...)
{

}
Почему тогда при выполнении этого фрагмента кода происходит ошибка времени(Access violation reading location) при выполнении на строке b=a[-22222222222222];
Код
          int b;
       try
       {
            int a[1];
            b=a[-22222222222222];

       }
       catch(...)
       {
       }
Как в таком случае обрабатывать ошибки такого типа?



Модератор: Не забываем пользоваться кнопочкой "Код"

Это сообщение отредактировал(а) bsa - 26.10.2010, 20:53
PM MAIL   Вверх
bsa
Дата 26.10.2010, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



lightforever, подобная ошибка отлавливается только в Windows. Для этого нужно использовать расширение __try, __except и __finally. Все это называется SEH - Structured Exception Handling (обработка структурированных исключений).

Это сообщение отредактировал(а) bsa - 27.10.2010, 10:59
PM   Вверх
EgorTheBlade
Дата 27.10.2010, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 141
Регистрация: 5.12.2009

Репутация: нет
Всего: -1



Существует флаги компиляции  которые позволяют это сделать.
Подробная информация http://www.devdoc.ru/index.php/content/subject/cpp

Это сообщение отредактировал(а) EgorTheBlade - 27.10.2010, 08:36
PM MAIL Skype   Вверх
JackYF
Дата 28.10.2010, 23:09 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 6
Всего: 162



>Как в таком случае обрабатывать ошибки такого типа?

В общем случае - никак. Правильнее эти ошибки не допускать.



--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0429 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.