|
Почему не попадаю в catch?
|
|||
---|---|---|---|
#18+
VS 2017 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Подскажите, почему не попадаю в catch ? спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2019, 13:29 |
|
Почему не попадаю в catch?
|
|||
---|---|---|---|
#18+
Потому что при делении на ноль не выбрасывается std::exception. PS: Исключения обычно ловят константной ссылкой, а не значением. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2019, 13:34 |
|
Почему не попадаю в catch?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Потому что при делении на ноль не выбрасывается std::exception. PS: Исключения обычно ловят константной ссылкой, а не значением. надеялся что with SEH поможет но не помогает ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2019, 13:43 |
|
Почему не попадаю в catch?
|
|||
---|---|---|---|
#18+
Для виндовса читай про SEH ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2019, 13:43 |
|
Почему не попадаю в catch?
|
|||
---|---|---|---|
#18+
подскажите как победить Код: plaintext 1. 2. 3.
HandleStructuredException is undefined ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2019, 13:45 |
|
Почему не попадаю в catch?
|
|||
---|---|---|---|
#18+
listtoviewкак победить 1. Встать на него курсором. 2. Нажать F1. 3. Прочитать в открывшейся справке в каком заголовке он объявлен. 4. Подключить этот заголовок. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2019, 13:48 |
|
Почему не попадаю в catch?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov listtoviewкак победить 1. Встать на него курсором. 2. Нажать F1. 3. Прочитать в открывшейся справке в каком заголовке он объявлен. 4. Подключить этот заголовок. так норм EXCEPTION_EXECUTE_HANDLER ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2019, 13:54 |
|
Почему не попадаю в catch?
|
|||
---|---|---|---|
#18+
listtoview подскажите как победить Код: plaintext 1. 2. 3.
HandleStructuredException is undefined Написать функцию HandleStructuredException() Хэлп читай https://docs.microsoft.com/ru-ru/cpp/cpp/try-except-statement?view=vs-2019 Если исключение возникает во время выполнения защищенного раздела или в любой подпрограмме, вызванном вызовом защищенного раздела, вычисляется __except выражение (называемое критерием фильтра ), а значение определяет, как обрабатываются исключения. Есть три возможных значения: EXCEPTION_CONTINUE_EXECUTION (-1) исключение отклонено. Выполнение продолжается в точке, в которой возникло исключение. EXCEPTION_CONTINUE_SEARCH (0) исключение не распознано. Программа переходит к поиску обработчика в стеке (сначала находятся выражения с оператором try-except, а затем обработчики со следующим наивысшим приоритетом). Распознано исключение EXCEPTION_EXECUTE_HANDLER (1). Передайте управление обработчику исключений, выполнив составной оператор __except , а затем продолжайте выполнение после блока __except . Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
И учти что SEH и исключения С++ не очень хорошо уживаются . ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2019, 13:56 |
|
Почему не попадаю в catch?
|
|||
---|---|---|---|
#18+
Dima T И учти что SEH и исключения С++ не очень хорошо уживаются . У Рихтера где-то было. Как обработчик SEH бросал исключения C++, т.е. преобразовывал. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2019, 14:01 |
|
Почему не попадаю в catch?
|
|||
---|---|---|---|
#18+
Dima T listtoview подскажите как победить Код: plaintext 1. 2. 3.
HandleStructuredException is undefined Написать функцию HandleStructuredException() Хэлп читай https://docs.microsoft.com/ru-ru/cpp/cpp/try-except-statement?view=vs-2019 Если исключение возникает во время выполнения защищенного раздела или в любой подпрограмме, вызванном вызовом защищенного раздела, вычисляется __except выражение (называемое критерием фильтра ), а значение определяет, как обрабатываются исключения. Есть три возможных значения: EXCEPTION_CONTINUE_EXECUTION (-1) исключение отклонено. Выполнение продолжается в точке, в которой возникло исключение. EXCEPTION_CONTINUE_SEARCH (0) исключение не распознано. Программа переходит к поиску обработчика в стеке (сначала находятся выражения с оператором try-except, а затем обработчики со следующим наивысшим приоритетом). Распознано исключение EXCEPTION_EXECUTE_HANDLER (1). Передайте управление обработчику исключений, выполнив составной оператор __except , а затем продолжайте выполнение после блока __except . Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
И учти что SEH и исключения С++ не очень хорошо уживаются . спасибо а как текст исключения получить? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2019, 14:02 |
|
Почему не попадаю в catch?
|
|||
---|---|---|---|
#18+
Я ставил SetUnhandledException() и из него выкидывал исключения С++. Работало, но было стрёмно. Поэтому вместо этого я стал из него рушить программу с дампом. Всё равно получние такого исключения это признак бага, которого надо ловить, а не обрабатывать. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2019, 14:05 |
|
Почему не попадаю в catch?
|
|||
---|---|---|---|
#18+
listtoview а как текст исключения получить? Никак. Нет текста. listtoview А если внимательно код посмотреть? Код: plaintext 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2019, 14:18 |
|
Почему не попадаю в catch?
|
|||
---|---|---|---|
#18+
Dima T listtoview а как текст исключения получить? Никак. Нет текста. listtoview А если внимательно код посмотреть? Код: plaintext 1. 2. 3. 4. 5. 6.
понял еще вопрос, как ловить все исключения? не писать же так всегда Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2019, 14:26 |
|
Почему не попадаю в catch?
|
|||
---|---|---|---|
#18+
или принято всегда int выбрасывать? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2019, 14:28 |
|
Почему не попадаю в catch?
|
|||
---|---|---|---|
#18+
listtoviewкак ловить все исключения? catch(...) Но обычно вменяемые программисты точно знают наперёд что может выкинуться из данной конкретной секции. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2019, 14:45 |
|
Почему не попадаю в catch?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov listtoviewкак ловить все исключения? catch(...) Но обычно вменяемые программисты точно знают наперёд что может выкинуться из данной конкретной секции. а тип исключения? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2019, 14:52 |
|
Почему не попадаю в catch?
|
|||
---|---|---|---|
#18+
есть километр кода что и где упадет непонятно вот в c# все наследуются от Exception можно смело его ловить ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2019, 14:54 |
|
Почему не попадаю в catch?
|
|||
---|---|---|---|
#18+
listtoview есть километр кода что и где упадет непонятно вот в c# все наследуются от Exception можно смело его ловить В шарпе тоже вероятно умные прогеры не ловят смело его одного)) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2019, 14:57 |
|
Почему не попадаю в catch?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp listtoview есть километр кода что и где упадет непонятно вот в c# все наследуются от Exception можно смело его ловить В шарпе тоже вероятно умные прогеры не ловят смело его одного)) конечно или его одного и проверяют тип но факт в том что поймать можно ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2019, 15:01 |
|
Почему не попадаю в catch?
|
|||
---|---|---|---|
#18+
listtoview есть километр кода что и где упадет непонятно вот в c# все наследуются от Exception можно смело его ловить Увы, это недостаток С++. Точнее сказать последствия излишней свободы. И это касается не только исключений, а вообще очень многого. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2019, 15:02 |
|
Почему не попадаю в catch?
|
|||
---|---|---|---|
#18+
подскажите, почему строку не ловит Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2019, 15:03 |
|
Почему не попадаю в catch?
|
|||
---|---|---|---|
#18+
Кстати, я вот не помню. Ловит ли SEH деление на ноль? Я думаю нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2019, 15:03 |
|
Почему не попадаю в catch?
|
|||
---|---|---|---|
#18+
listtoview есть километр кода что и где упадет непонятно вот в c# все наследуются от Exception можно смело его ловить Наследуйся от std::exception. Этот класс создан для исключений, стандартная библиотека его использует. А свой код сам смотри, только тебе видно что там нагорожено. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2019, 15:04 |
|
|
start [/forum/topic.php?fid=57&msg=39907070&tid=2017498]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 265ms |
total: | 430ms |
0 / 0 |