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

Не перехватывается исключений - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Обработка исключений. Спецификация http://www.cyberforum.ru/cpp-beginners/thread924238.html
Ниже описан код по обработке исключений. Вот какие появились вопросы: 1. Есть ли при обработке исключений автоматическое преобразование типов. Ну например есть только блок catch(long int), а...
C++ binder3 Здорова! Есть задачка: "Напишите связывающий адаптер binder3(), который должен связывать второй и третий аргументы трехаргументной функции для получения унарного предиката. Приведите пример... http://www.cyberforum.ru/cpp-beginners/thread924237.html
Как сделать проверку логина из файла? C++
Как сделать проверку логина из файла? Ну допустим у меня есть такое: #include <iostream> #include <cstdlib> #include <fstream> #include <string> using namespace std;
C++ Можно ли использовать cin.getline для указателя типа char*
Вот к примеру код он работает, но при отладке Ошибка доступа. #include <iostream> using namespace std; struct EXAMPLE{char* pName; char* pAvto; EXAMPLE* next; ...
C++ delete this http://www.cyberforum.ru/cpp-beginners/thread924208.html
Добрый день! У меня возник такой вопрос - почему в программе возникает неопределённое поведение для объекта, в деструкторе которого присутствует конструкция delete this? Ведь, по идеи, всё верно -...
C++ Нужен код, который сможет изменять порядок вопросов при запуске программы Нужен код,который сможет изменять порядок вопросов при запуске программы. Например:(при первом запуске) 1)Сколько тебе лет? 2)Ты бухал? (При втором запуске): 1)Ты бухал? 2)Сколько тебе лет? подробнее

Показать сообщение отдельно
Valentina
68 / 68 / 3
Регистрация: 13.05.2012
Сообщений: 130
16.07.2013, 20:46
Деление на 0 — это undefined behavior, а не исключительная ситуация. Его нельзя обработать, его можно только предотвратить.
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 <stdexcept>
#include <string>
#include <iostream>
#include <ostream>
 
int checked_divide(int numerator, int denominator)
{
  if (0 == denominator) throw std::domain_error("Division by zero");
  return numerator / denominator;
}
 
int main()
{
  try
  {
    int p = 0;
    int i = checked_divide(5, p);
  }
  catch (const std::exception& e)
  {
    std::cout << "Error: " << e.what() << std::endl;
  }
  system("pause");
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru