11 / 11 / 2
Регистрация: 16.08.2009
Сообщений: 434
|
||||||
1 | ||||||
Не работает try catch14.06.2011, 09:29. Показов 14619. Ответов 21
Метки нет (Все метки)
пишу такой код
и в консоль ничего не пишет как правильно надо писать покажите пример плз!
0
|
14.06.2011, 09:29 | |
Ответы с готовыми решениями:
21
как работает try, catch Не работает блок catch min-gw try-catch почемуто не работает Не работает Try-catch |
C/C++
93 / 93 / 18
Регистрация: 01.07.2010
Сообщений: 281
|
||||||
14.06.2011, 09:43 | 3 | |||||
1
|
11 / 11 / 2
Регистрация: 16.08.2009
Сообщений: 434
|
||||||
14.06.2011, 10:06 [ТС] | 4 | |||||
МаксимМВ,
diagon, Так а что делать если я не могу предвидеть какой тип ошибки будет, деление на ноль я взял просто для примера Если допустить что мы не знаем что там может быть за ошибка и не можем написать условие перед опасным кодом
как обработать вообще все ошибки кода ?
0
|
68 / 55 / 11
Регистрация: 10.06.2011
Сообщений: 149
|
|
14.06.2011, 10:23 | 5 |
думаю нужно рыть к заголовкам
<exception> <stdexcept>
0
|
11 / 11 / 2
Регистрация: 16.08.2009
Сообщений: 434
|
|
14.06.2011, 10:36 [ТС] | 6 |
tylix,
а на примере если ? не очень понимаю что и как рыть
0
|
68 / 55 / 11
Регистрация: 10.06.2011
Сообщений: 149
|
|
14.06.2011, 10:49 | 7 |
еще пишут, чтобы "заработал" блок catch (...) программу нужно запускать не под debuger-ом, а под release. Прикол в том что под режимом компил. debug у меня вылетает ошибка при деление на 0 а под release нифига, как будто ничего и не случилось, программа просто молча типа нормально завершается. При этом не важно, есть try catch или их нет.
вот такие пирожки. Добавлено через 2 минуты у экспертов нужно спрашивать. Сам этим не пользовался. Просто знаю что в тех заголовках описаны классы по обработке искл. сит.
0
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
14.06.2011, 10:53 | 8 |
Приведите пример когда нельзя предвидеть тип ошибки?
Если мы сами не знаем что пишем, то кто может знать? Какие именно ошибки? Ошибки программиста и, к примеру, сбои оборудования, диагностируются и обрабатываются по-разному.
1
|
68 / 55 / 11
Регистрация: 10.06.2011
Сообщений: 149
|
|
14.06.2011, 11:03 | 9 |
CyBOSSeR у нас вопрос деления на ноль, как отловить?
a = b / c; // где с окажется 0 без if (c == 0)
0
|
11 / 11 / 2
Регистрация: 16.08.2009
Сообщений: 434
|
|||||||||||
14.06.2011, 11:03 [ТС] | 10 | ||||||||||
CyBOSSeR,
если конкретно говорить о том что мне нужно то вот
как такое обработать в try catch ? Я писал
0
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
14.06.2011, 11:24 | 11 |
nill, открываем спeцификацию PQgetvalue и видим, что в случае ошибки она вернет нулевой указатель, что Вам и нужно проверять. Чтобы отловить исключение, нужно чтобы его кто-то сгенерировал. В данном случае в качестве индикатора ошибки выступает возвращаемое значение, а не генерация исключения.
tylix, нужно курить стандарт C++, если он явно указывает, что при делении на ноль должно генерироваться исключение, то можно использовать try ... catch, если же нет (в чем я уверен, позже посмотрю), то использовать механизм обработки исключений не получится.
2
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
14.06.2011, 11:30 | 12 |
При делении на ноль выбрасывается структурное исключение (SEH). Перехват зависит от настроек компиляции.
Для SEH используются __try, __finally/__except. Но лучше такое исключение просто не допускать, на 0 проверить не ложно.
0
|
11 / 11 / 2
Регистрация: 16.08.2009
Сообщений: 434
|
|
14.06.2011, 11:32 [ТС] | 13 |
CyBOSSeR,
А можно пример что писать в try и catch чтобы отловить ошибку PQgetvalue сам немогу разобраться
0
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
||||||
14.06.2011, 11:42 | 14 | |||||
Deviaphan, согласно п. 6.5.4 С++03, если правый операнд / или % является нулем, то результат операции не определен.
nill, try ... catch Вам не нужен:
Deviaphan, точнее, не результат, а поведение.
1
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
14.06.2011, 11:46 | 15 |
Поведение MSVC известно точно: падение с громким визгом.)
Спасибо за пункт в стандарте, надо почитать будет.
0
|
11 / 11 / 2
Регистрация: 16.08.2009
Сообщений: 434
|
|
14.06.2011, 12:03 [ТС] | 16 |
CyBOSSeR,
Огромное спасибо работает!!! 3 дня бился непонятно только почему корректный текст запроса иногда не возвращает результат сейчас в коде сделал реконект к базе и goto обратно к PGresult* result = PQexec(/* ... */); И ВСЕ ОК ну пишет в логах там была ошибка но прога работает и выполняет все запросы на некоторые по две попытки уходит почему то, вот бы узнать причину
0
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
14.06.2011, 20:46 | 17 |
Смотрите что написано в логах, обычно, по ним определить в чем проблема не сложно.
1
|
11 / 11 / 2
Регистрация: 16.08.2009
Сообщений: 434
|
|
15.06.2011, 02:31 [ТС] | 18 |
в каких логах и где их найти ?
в своем посте под логами я имею ввиду то что я сам пишу в консоль запрос выполнился я пишу запрос номер такой то ОК, причину ошибки я там не найду
0
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
15.06.2011, 13:03 | 19 |
0
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
15.06.2011, 16:56 | 20 |
nill, попробуйте вызвать PQerrorMessage (пример как это сделать есть здесь) для получения информации об ошибке.
1
|
15.06.2011, 16:56 | |
15.06.2011, 16:56 | |
Помогаю со студенческими работами здесь
20
Не работает try/catch Try.catch не работает Try catch не работает Не работает try catch Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства
Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
|
Что такое NullReferenceException и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
|
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
|
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
|
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
|
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
|
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее:
На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
|
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript
В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
|
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
|
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален
В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
|
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
|
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели
В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
|