Аватар для c0der
1 / 1 / 1
Регистрация: 03.08.2010
Сообщений: 41

Обработка исключений

04.10.2010, 01:10. Показов 1045. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Почему не перехватывает ошибку и не выводит Error? а прога сама прекращает работу.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
 
void www()
{
    int a=10,b=2,c=0;
    try
    {
        cout << a/2 << endl;
        cout << a/c << endl;
    }
    catch(...)
    {
        cout << "ERROR" << endl;
    }
}
 
int main()
{
     www();
system("pause");
return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.10.2010, 01:10
Ответы с готовыми решениями:

Обработка исключений с пмощью структурированной обработки исключений
Есть функция, которая определенным образом работает с файлами,но при работе с файлами &quot;не подходящего&quot; типа вызывается...

Обработка исключений
Есть вопрос по заданию. С клавиатуры вводится номер ошибочной ситуации. В зависимости от того, какой номер введен, сгенерировать...

Обработка исключений
Подскажите пожалуйста как продолжить выполнение программы после срабатывания оператора catch. catch завершает программу, но ее нужно...

6
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
04.10.2010, 01:12
наверняка не скажу, но деление на ноль генерирует процессорное прерывание, не отлавливаемое плюсатым обработчиком
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
04.10.2010, 01:30
А еще если учесть что throw нету... Чтобы ловило - допустим так.
Нет. Не прав.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <stdexcept>
using namespace std;
 
void www()
{
        int a=10,b=2,c=0;
        try
        {
                cout << a/2 << endl;
                cout << a/c << endl;
        }
        catch(std::runtime_error& e)
        {
                cout << "ERROR" << endl;
        }
}
 
int main()
{
         www();
system("pause");
return 0;
}
Добавлено через 17 минут
Мм. Да. Судя по всему не поймать. Ни set_terminate, ни set_unexpected не помогают.

Но вот так ловить никто не мешает:

C++
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
#include <iostream>
#include <stdexcept>
using namespace std;
 
void www()
{
        int a=10,b=2, c=0;
        cin>>c;
        try
        {
            cout << a/2 << endl;
            if(c==0)
                throw(std::logic_error("Error!"));
            int t=a/c;
        }
        catch(const std::logic_error& e)
        {
            cout<<e.what()<<'\n';
        }
}
 
int main()
{
    www();
    system("pause");
    return 0;
}
0
Заблокирован
04.10.2010, 01:35
Цитата Сообщение от c0der Посмотреть сообщение
Почему не перехватывает ошибку и не выводит Error? а прога сама прекращает работу.
Потому что. Используй SEH, если так сильно нужно.
1
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
04.10.2010, 15:29
ну SEH отдельная тема, отдельная от плюсатых исключений
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
04.10.2010, 15:56
alex_x_x, Ну комбинировать-то можно. Только не так очевидно, как с исклами С++
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
04.10.2010, 16:43
как раз не рекомендуется, ибо в винде исключения с++ работают через SEH, если использовать и то и то, то плюсатые исключения могут SEH'ом ловиться
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.10.2010, 16:43
Помогаю со студенческими работами здесь

Обработка исключений
Помогите написать программу пожалуйста!!!! Я незнаю как правильно написать!!! Задание: Для каждого варианта необходимо создать три...

Обработка исключений
Есть код программы по поиску совершенных чисел а интервале от a до n. #include &lt;iostream&gt; using namespace std; int...

Обработка исключений
Программа должна содержать блоки try, catch, точку throw. Задание: Ввод пользователем отрицательного возраста.

Обработка исключений
Доброго времени суток. Использую RAD XE 4. Пытаюсь поймать исключения путем catch(Exeption &amp;E) { } Но компилятор...

Обработка исключений
Добрый день! Столкнулся с такой проблемой. У меня есть класс class MyClass { public: MyClass(/* какие то параметры*/); ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

Новые блоги и статьи
50 самых полезных примеров кода Python для частых задач
py-thonny 17.06.2025
Эффективность работы разработчика часто измеряется не количеством написаных строк, а скоростью решения задач. Готовые сниппеты значительно ускоряют разработку, помогают избежать типичных ошибок и. . .
C# и продвинутые приемы работы с БД
stackOverflow 17.06.2025
Каждый . NET разработчик рано или поздно сталкивается с ситуацией, когда привычные методы работы с базами данных превращаются в источник бессонных ночей. Я сам неоднократно попадал в такие ситуации,. . .
Angular: Вопросы и ответы на собеседовании
Reangularity 15.06.2025
Готовишься к техническому интервью по Angular? Я собрал самые распространенные вопросы, с которыми сталкиваются разработчики на собеседованиях в этом году. От базовых концепций до продвинутых. . .
Архитектура Onion в ASP.NET Core MVC
stackOverflow 15.06.2025
Что такое эта "луковая" архитектура? Термин предложил Джеффри Палермо (Jeffrey Palermo) в 2008 году, и с тех пор подход только набирал обороты. Суть проста - представьте себе лук с его. . .
Unity 4D
GameUnited 13.06.2025
Четырехмерное пространство. . . Звучит как что-то из научной фантастики, правда? Однако для меня, как разработчика со стажем в игровой индустрии, четвертое измерение давно перестало быть абстракцией из. . .
SSE (Server-Sent Events) в ASP.NET Core и .NET 10
UnmanagedCoder 13.06.2025
Кажется, Microsoft снова подкинула нам интересную фичу в новой версии фреймворка. Работая с превью . NET 10, я наткнулся на нативную поддержку Server-Sent Events (SSE) в ASP. NET Core Minimal APIs. Эта. . .
С днём независимости России!
Hrethgir 13.06.2025
Решил побеседовать, с утра праздничного дня, с LM о завоеваниях. То что она написала о народе, представителем которого я являюсь сам сначала возмутило меня, но дальше только смешило. Это чисто. . .
Лето вокруг.
kumehtar 13.06.2025
Лето вокруг. Наполненное бурями и ураганами событий. На фоне магии Жизни, священной и вечной, неумелой рукой человека рисуется панорама душевного непокоя. Странные серые краски проникают и. . .
Популярные LM модели ориентированы на увеличение затрат ресурсов пользователями сгенерированного кода (грязь -заслуги чистоплюев).
Hrethgir 12.06.2025
Вообще обратил внимание, что они генерируют код (впрочем так-же ориентированы разработчики чипов даже), чтобы пользователь их использующий уходил в тот или иной убыток. Это достаточно опытные модели,. . .
Топ10 библиотек C для квантовых вычислений
bytestream 12.06.2025
Квантовые вычисления - это та область, где теория встречается с практикой на границе наших знаний о физике. Пока большая часть шума вокруг квантовых компьютеров крутится вокруг языков высокого уровня. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru