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

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

Войти
Регистрация
Восстановить пароль
 
ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
#1

Генерация исключений из <exception> - C++

15.04.2013, 04:06. Просмотров 892. Ответов 0
Метки нет (Все метки)

Здорова господа!
Я тут пытаюсь разобраться с классом std::exception.
Как перехвачивать исключения то я понял функцию what() вызвал и все.
А как же мне генерировать исключения используя этот класс?
От допустим я решил создать какое нить свое приложение и решил использовать как бы готовый класс exception и хочу из него генерировать исключения, но чото у меня ничо не получается.
От тестовый код:
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
29
30
31
32
33
34
// exception example
#include <iostream>
using std::cout;
using std::endl;
#include <exception> 
using std::exception;
using std::bad_alloc;
//using std::bad_cast; //owibka ne mojet podklyuchitca
using std::bad_exception;
//using std::bad_typeid; // owibka ne bul deklorirovan
//using std::bad_weak_ptr; // owibka ne bul dekrorirovan
//using std::ios_base::failure;//owibka ne bul deklorirovan
 
//using std::bad_exception;
using std::logic_error;//op9t6 ne deklorirovan owibka
//using std::runtime_error;
 
int main () {
  try
  {     
    throw logic_error();
    //throw ios_base::failure();//owibka ne bul deklorirovan
    //throw bad_weak_ptr();//owibka ne bul deklorirovan
    //throw bad_typeid();//owibka ne bul deklorirovan
    throw bad_exception();
    //throw bad_cast();//owibka ne mojet podklyuchitc9
    throw bad_alloc();
  }
  catch (exception& e)
  {
    cout << "exception caught: " << e.what() << '\n';
  }
  return 0;
}
Почему то половина типов исключений не подключаются. Допустим я создал свой пользовательский тип и мне нужно с генерировать исключение out_of_range(). Ну и что пробовал я его подключить из стандартного класса пишет типо ошибка не был подключен.
Вообще не ясно можно ли использовать этот класс (exception) в своих приложения или нужно создавать свои собственные?
Если да то как же мне тогда генерировать типы исключений?
Ничерта не ясно.

Добавлено через 9 минут
Ладно разобрался половина из этих подключений оказывается не к <exception> относятся, а к <stdexcept>
http://www.cplusplus.com/reference/exception/exception/ по этой ссылке фиг чо разберешь.

Нету нормального какого небудь сайта по С++ на русском языке, а то там фиг чо разберешь, коряво все написано?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2013, 04:06     Генерация исключений из <exception>
Посмотрите здесь:

Обработка исключений (Exception) - C++
Всем приветю У меня возникла такая ситуация: в main создаю локальную переменную типа long, затем прошу пользователя задать эту переменную и...

Exception Handling. Собственный класс для перехвата исключений - C++
Помогите, пожалуйста, с данной задачей. Задача: Define an exception class called tornadoException. The class should have two...

Создание своего класса исключений, наследование std::exception - C++
хотел создать свой класс исключений пронаследовав от std::exception, но немного запутался в конструкторах... конструктор же не наследуется,...

Генерация и обработка исключений - C++
Здравствуйте, помогите в написании программы, очень надо. Задание: задан тип исключения, которое необходимо сгенерировать и...

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

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

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

Классы исключений - C++
расскажите, пожалуйста, про предопределенные классы исключений

Коды исключений - C++
Какие ещё, кроме std::bad_alloc, есть коды исключений? Содержит ли исключение информацию о месте своего возникновения? А о конкретной...

Не перехватывается исключений - C++
int a; try{ cin &gt;&gt; a; cout &lt;&lt; a / 0 &lt;&lt; endl; }catch(...){ cout &lt;&lt; &quot;err&quot; &lt;&lt; endl./ }

Обработка исключений - C++
Ребят, всем привет) помогите разобраться с вроде как простой задачкой, но весьма затруднительной для меня) По исключениям инфы мало в...

Обработка исключений - C++
Почему не перехватывает ошибку и не выводит Error? а прога сама прекращает работу. #include &lt;iostream&gt; using namespace std; ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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