Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.77
nill
10 / 10 / 0
Регистрация: 16.08.2009
Сообщений: 417
#1

Не работает try catch - C++

14.06.2011, 09:29. Просмотров 3600. Ответов 21
Метки нет (Все метки)

пишу такой код
C++
1
2
3
4
5
6
try{    
int k=0;
int i=44/k;} 
 
catch(...)
{cout<<"OSIBKA BLIN "<< endl;}
но программа зависает как будто нет обработчика исключений try
и в консоль ничего не пишет

как правильно надо писать покажите пример плз!
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.06.2011, 09:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не работает try catch (C++):

как работает try, catch - C++
Как работает конструкция try, catch? Если не сложно объясните на не большом примере. А то гугли читал в книги так не могу понять ее...

min-gw try-catch почемуто не работает - C++
Немогу понять почему не обрабатывается исключение, код приведен ниже. #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;windows.h&gt; ...

Работает ли указатель на базовый класс исключения, когда попадает в блок catch - C++
Работает ли указатель на базовый класс исключения, когда попадает в блок catch так же как обычно? То есть, если есть переопределенные...

try-catch - C++
Доброго времени суток, начал изучать исключения, и вот есть такой код: // new.cpp : Defines the entry point for the console...

TRY/CATCH - C++
Здравствуйте! У меня есть: MASS; для простоты пояснения, x=rand();y=rand(),znacheniye=rand(); Как игнорировать ошибки...

Try catch - C++
try { throw pDoc-&gt;C; } catch (City) { return; } есть динамический City* C, ему присвается значение другого такого...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
nill
10 / 10 / 0
Регистрация: 16.08.2009
Сообщений: 417
14.06.2011, 12:03  [ТС] #16
CyBOSSeR,
Огромное спасибо работает!!!
3 дня бился

непонятно только почему корректный текст запроса иногда не возвращает результат
сейчас в коде сделал реконект к базе и goto обратно к PGresult* result = PQexec(/* ... */);
И ВСЕ ОК
ну пишет в логах там была ошибка но прога работает и выполняет все запросы
на некоторые по две попытки уходит почему то, вот бы узнать причину
0
CyBOSSeR
Эксперт C++
2302 / 1672 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
14.06.2011, 20:46 #17
Цитата Сообщение от nill Посмотреть сообщение
ну пишет в логах там была ошибка но прога работает и выполняет все запросы
на некоторые по две попытки уходит почему то, вот бы узнать причину
Смотрите что написано в логах, обычно, по ним определить в чем проблема не сложно.
1
nill
10 / 10 / 0
Регистрация: 16.08.2009
Сообщений: 417
15.06.2011, 02:31  [ТС] #18
в каких логах и где их найти ?

в своем посте под логами я имею ввиду то что я сам пишу в консоль
запрос выполнился я пишу запрос номер такой то ОК, причину ошибки я там не найду
0
Gepar
1177 / 533 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
15.06.2011, 13:03 #19
Цитата Сообщение от МаксимМВ Посмотреть сообщение
Потому что C++ - язык более низкого уровня (что это значит, ищите).
лолшто?
0
CyBOSSeR
Эксперт C++
2302 / 1672 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
15.06.2011, 16:56 #20
nill, попробуйте вызвать PQerrorMessage (пример как это сделать есть здесь) для получения информации об ошибке.
1
МаксимМВ
C/C++
90 / 90 / 5
Регистрация: 01.07.2010
Сообщений: 281
18.06.2011, 11:11 #21
Цитата Сообщение от nill Посмотреть сообщение
CyBOSSeR,
и goto обратно к PGresult* result = PQexec(/* ... */);
goto не рекомендуется, в C++ есть цикл while для этих целей, есть функции. Очень редко использование goto бывает оправданным в C++.
0
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,912
18.06.2011, 14:32 #22
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от МаксимМВ Посмотреть сообщение
C++ не может так поймать деление на ноль, как Паскаль.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
 
void SIGFPEHandler(int n)
{
    puts("Signal Floating-Point Exception");
    exit(1);
}
 
int main()
{
    signal(SIGFPE, SIGFPEHandler);
    int a = 1, b = 0;
    printf("%d\n", a/b);
 
    return 0;
}
3
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2011, 14:32
Привет! Вот еще темы с ответами:

try-catch - C++
Какой тип проекта создавать в Visual Studio чтобы можно было сделать обработку исключений с try-catch? Или что сделать в Code Blocks с той...

try . catch - C++
можно ли провести данную операцию для функции erase у вектора??? пытался, что-то не получилось: #include &lt;vector&gt; #include &lt;algorithm&gt; ...

try-catch - C++
Читаю книгу Страуструпа. Он пишет (стр 232), что можно не передавать обработчику исключений какое либо значение. #include...

Try-catch - C++
Добрый вечер, #include &lt;iostream&gt; using namespace std; void F1(int); void F2(int, int); void F3(int, int, int);


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
18.06.2011, 14:32
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru