Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
4 / 4 / 0
Регистрация: 06.01.2012
Сообщений: 117

отлов ошибок try, catch зачем он нужен?

31.05.2012, 12:51. Показов 3019. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
я вот пишу прогу, которая не отлавливает ошибку.

C++
1
2
3
4
5
6
7
8
9
try
{
  int i=10;
  i=i/0;
}
catch(...)
{
   printf("\n 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
24
25
26
27
28
#include <iostream>
#include <stdexcept>
 
inline int intDiv (int numerator, int denominator) {
    if (denominator == 0)
        throw std::overflow_error("Divide by zero exception");
    return numerator / denominator;
}
 
int main (void) {
    int i = 42;
 
    try {
        i = intDiv (10, 2);
    } catch (std::overflow_error e) {
        std::cout << e.what() << " -> ";
    }
    std::cout << i << std::endl;
 
    try {
        i = intDiv (10, 0);
    } catch (std::overflow_error e) {
        std::cout << e.what() << " -> ";
    }
    std::cout << i << std::endl;
 
    return 0;
}
Работает отлично!!!Только зачем столько напрягаться, когда нужно просто проверить через if, else???

Ладно допустим мы реализовали отлов всех типыоп вот отсюда:
C++
1
2
3
4
5
6
7
8
9
10
11
12
namespace std 
{
    class logic_error;
        class domain_error;
        class invalid_argument;
        class length_error;
        class out_of_range;
    class runtime_error;
        class range_error;
        class overflow_error;
        class underflow_error;
}
Но есть большое НООООО!!!!! Ни одна из них не ловит ошибку деления на нуль!!!!

Вопрос1-> как мне отлавливать все типы ошибок, и есть гарантия того, что все ошибки будут пойманными???

Вопрос2->как мне понять в какой части программы произошла ошибка без построения иерархии try,carth,throw???Имеется ввиду, есть ли инструментарии отлова ошибок как в java, где можно вытаскивать все из стека????
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.05.2012, 12:51
Ответы с готовыми решениями:

Переполнение double и отлов ошибок
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;stdlib.h&gt; #include &lt;locale.h&gt; using namespace std; void...

Обработчики ошибок try catch
Друзья, вот есть задача у меня решенная, вот условие: Справка о междугороднем телефонном разговоре содержит: номер телефона абонента (6...

Отлов ошибок Try-catch или параноя
Кто на сколько часто использует забивание ошибок данными конструкциями без отлова, какая именно ошибка произошла? Приведу пример: есть...

1
35 / 35 / 12
Регистрация: 05.02.2012
Сообщений: 76
31.05.2012, 12:54
Цитата Сообщение от dqrest Посмотреть сообщение
все типы ошибок
C++
1
2
3
4
5
6
7
8
try
{
 
}
catch(...) //здесь ловятся все ошибки.
{
 
}

Цитата Сообщение от dqrest Посмотреть сообщение
как мне понять в какой части программы произошла ошибка
Создать свой собственный класс для обработки исключений - это может помочь в некоторых случаях.
Цитата Сообщение от dqrest Посмотреть сообщение
есть ли инструментарии отлова ошибок как в java
Нет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.05.2012, 12:54
Помогаю со студенческими работами здесь

Отлов исключений без использования try/catch
Всем привет. Есть форма и не сколько кнопок. При нажатии на каждой из кнопок будет вызвано исключение. Требуется: 1. ловить все...

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

Отлов ошибок
В Pascal ABC можно ошибки отловить с помощью try except, есть ли подобная конструкция в Turbo Pascal?

Отлов ошибок
Столкнулся с роблемой с динамическими объектами и XML Есть парс, который собирает данные допустим ...

Отлов ошибок в приложении
как это осуществить? я уже и show и exec взял в try/catch, но все равно при ошибках приложение вместо месаджбокса зависает и закрывается :(...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru