Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
memory exception
|
|||
|---|---|---|---|
|
#18+
Всем привет! Подскажите, пожалуйста, почему я получаю такую ошибку: Unhandled exception at 0x76f115de (ntdll.dll) in Exam.exe: Microsoft C++ exception: mExChild at memory location 0x002ff768.. На строчке указанной внизу: Код: plaintext 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. 36. 37. 38. 39. Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2013, 19:14 |
|
||
|
memory exception
|
|||
|---|---|---|---|
|
#18+
MaximuS_G, 1. name - это поле, и оно не коллабельное; 2. Обращение к члену экземпляра через тип этого экземпляра. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2013, 19:20 |
|
||
|
memory exception
|
|||
|---|---|---|---|
|
#18+
MaximuS_GПодскажите, пожалуйста, почему я получаю такую ошибку: Unhandled exception at 0x76f115de (ntdll.dll) in Exam.exe: Microsoft C++ exception: mExChild at memory location 0x002ff768.. На строчке указанной внизу: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. А собственно, почему ты её должен НЕ получать ? Ты же сам делаешь throw new mExChild -- это выбрасывание исключения. Ты его НЕ ловишь, вот программа и вылетает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2013, 19:24 |
|
||
|
memory exception
|
|||
|---|---|---|---|
|
#18+
автор throw new mExChild(typeid(obj).name()); // вот здесь ошибка. В конструктор зашел, а дальше вылетает. } catch (mExChild & exObj) Уберите new и принимайте по ссылке. А где вы прочитали что нужно кидать исключения через new? Даже представления не имею когда это может быть необходимо и почему эту возможность не залочили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2013, 20:21 |
|
||
|
memory exception
|
|||
|---|---|---|---|
|
#18+
NekZMaximuS_G, 1. name - это поле, и оно не коллабельное; 2. Обращение к члену экземпляра через тип этого экземпляра. 1. Если я делаю так Код: plaintext 1. то получаю ошибку a pointer to a bound function may only be used to call the function 2. Я обращаюсь не к полю name объекта obj, я обращаюсь к методу name объекта, который возвращает функция typeid(); MasterZivА собственно, почему ты её должен НЕ получать ? Ты же сам делаешь throw new mExChild -- это выбрасывание исключения. Ты его НЕ ловишь, вот программа и вылетает. Как же это не ловлю? :) catch (mExChild exObj) присутствует. возможность не залочилиУберите new и принимайте по ссылке. А где вы прочитали что нужно кидать исключения через new? Спасибо большое! Принимая по ссылке все отлично заработало! Где прочитал, что нужно бросать через new, не помню. А в чем именно разница между с new и без new не подскажите? Код: plaintext 1. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2013, 23:11 |
|
||
|
memory exception
|
|||
|---|---|---|---|
|
#18+
MaximuS_G MasterZivА собственно, почему ты её должен НЕ получать ? Ты же сам делаешь throw new mExChild -- это выбрасывание исключения. Ты его НЕ ловишь, вот программа и вылетает. Как же это не ловлю? :) catch (mExChild exObj) присутствует. Присутствует, но он не будет ловить твоё исключение, типы разные. MaximuS_Gвозможность не залочилиУберите new и принимайте по ссылке. А где вы прочитали что нужно кидать исключения через new? Спасибо большое! Принимая по ссылке все отлично заработало! Где прочитал, что нужно бросать через new, не помню. А в чем именно разница между с new и без new не подскажите? Типы разные, в одном случае указатель, в другом -- сам объект. А типы при ловле должны совпадать. Золотое правило в С++ -- кидать объекты по значению, ловить по ссылке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2013, 01:46 |
|
||
|
memory exception
|
|||
|---|---|---|---|
|
#18+
MaximuS_GСпасибо большое! Принимая по ссылке все отлично заработало! Где прочитал, что нужно бросать через new, не помню. А в чем именно разница между с new и без new не подскажите? Код: plaintext 1. Код: plaintext 1. Разница в том, что с new будет выделяться динамическая память в "куче", а это дольше, чем в автоматической памяти. И потом эту память надо будет освободить через delete. C new работало бы вот так: Код: plaintext 1. 2. 3. Казалось бы, new может понадобиться передать исключения между потоками, но вместо new для этого уже появился в новом стандарте std::make_exception_ptr<>() возвращающий std::exception_ptr<>. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2013, 02:26 |
|
||
|
memory exception
|
|||
|---|---|---|---|
|
#18+
MasterZiv, возможность не залочили Спасибо большое за подробное объяснение! Может быть еще сможете в таком вопросе подсказать. У меня есть такое задание: Создать базовый и производные классы исключений. С помощью оператора catch() базового класса осуществить перехват исключений производных классов. Я не понимаю, что именно от меня требуется. Кто-то понимает? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2013, 13:42 |
|
||
|
memory exception
|
|||
|---|---|---|---|
|
#18+
MaximuS_G MasterZiv, возможность не залочили Спасибо большое за подробное объяснение! Может быть еще сможете в таком вопросе подсказать. У меня есть такое задание: Создать базовый и производные классы исключений. С помощью оператора catch() базового класса осуществить перехват исключений производных классов. Я не понимаю, что именно от меня требуется. Кто-то понимает? :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2013, 15:00 |
|
||
|
memory exception
|
|||
|---|---|---|---|
|
#18+
возможность не залочили , Спасибо большое за пример! А что дает такая конструкция не подскажите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2013, 17:12 |
|
||
|
memory exception
|
|||
|---|---|---|---|
|
#18+
MaximuS_GСпасибо большое за пример! А что дает такая конструкция не подскаж е те?Возможность улавливать менее специфичное исключение, чем брошенное. К примеру, функция открытия файла бросила исключение "ошибка при открытии файла из-за неверного формата: нарушена структура заголовка", а поймано исключение "ошибка при открытии файла из-за неверного формата". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2013, 17:17 |
|
||
|
memory exception
|
|||
|---|---|---|---|
|
#18+
Вообще -то наследоваться лучше от стандартного std::exception. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2013, 13:04 |
|
||
|
memory exception
|
|||
|---|---|---|---|
|
#18+
AbstractionMaximuS_GСпасибо большое за пример! А что дает такая конструкция не подскаж е те?Возможность улавливать менее специфичное исключение, чем брошенное. К примеру, функция открытия файла бросила исключение "ошибка при открытии файла из-за неверного формата: нарушена структура заголовка", а поймано исключение "ошибка при открытии файла из-за неверного формата". Спасибо большое за комментарий. А Вы бы не могли простенький пример с кодом привести? MasterZivВообще -то наследоваться лучше от стандартного std::exception. Спасибо за подсказку! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2013, 14:35 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38165401&tid=2020426]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
163ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 17ms |
| total: | 279ms |

| 0 / 0 |
