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

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

Войти
Регистрация
Восстановить пароль
 
Shved
9 / 9 / 1
Регистрация: 07.06.2009
Сообщений: 34
#1

Исключения - C++

22.11.2009, 19:05. Просмотров 528. Ответов 7
Метки нет (Все метки)

Помогите пожалуйста с программой, ибо чё-то не даётся мне этот try... catch . Собственно задача:
Вычислите 1/х как число с плавающей точкой, обработайте возникшие сообщения об ошибке с использованием исключения. double reciprocal(double x);
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2009, 19:05
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Исключения (C++):

Исключения - C++
Здравствуйте, у меня есть немножко глупый вопрос: есть скажем функция a() { some code } Все равно поместить саму функцию а() в...

исключения - C++
Помогите пожалуйста создать мнoгoурoвнeвую иeрaрхию нaслeдoвaния клaссoв исключeния для сoздaния ситуaции, в кoтoрoй вaжнa...

исключения - C++
пожалуйста, gомогите решить задачу на с++ , кoтoрая пoкaзывaет, чтo функция co cвoим блoкoм try не дoлжна пeрeхватывaть кaждую вoзмoжную...

Исключения - C++
Ребят, тут такая тема. В общем нужно при вводе данных смотреть на исключения, т.е. если ввели в int буквы - пробросить исключение. С этим я...

исключения c++ - C++
Здраствуйте! Я тут приспособил код старого проекта чтобы побаловаться с исключениями. Перечитывал я тут недавно главу 14.6 из Страуструпа...

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

7
cristaloleg
148 / 49 / 1
Регистрация: 21.12.2008
Сообщений: 961
22.11.2009, 20:01 #2
C++
1
2
3
4
5
6
7
8
try
  {
    throw 20;
  }
  catch (int e)
  {
    cout << "An exception occurred. Exception Nr. " << e << endl;
  }
try эт если нет ошибок
catch отлавливает номер ошибки
0
Shved
9 / 9 / 1
Регистрация: 07.06.2009
Сообщений: 34
22.11.2009, 20:11  [ТС] #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<iostream>
using namespace std;
 
void main()
{
    float y;
    int x;
    cin>>x;
    try
    {
        y=1/x;
                      cout<<y;
    }
    catch(int a)
    {
        cout<<"Divide to zero"<<a;
    }
}
Так? Но если х вводишь равным 0 оно не выводит ошибку..
0
cristaloleg
148 / 49 / 1
Регистрация: 21.12.2008
Сообщений: 961
22.11.2009, 20:14 #4
по идеи
C
1
int e
любая ошибка будет отлавливаться. а вот если конкретно деление на ноль, то не знаю

Добавлено через 1 минуту
чтобы узнать номер ошибки
C++
1
double k = 1/0;
открой в отладке и увидишь ошибку!
1
Shved
9 / 9 / 1
Регистрация: 07.06.2009
Сообщений: 34
27.11.2009, 13:38  [ТС] #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<iostream>
using namespace std;
 
void main()
{
    float y;
    float x;
    cin>>x;
    cout<<endl;
    try
    {
        y=1/x;
        cout<<y<<endl;
    }
    catch(int a)
    {
        cout<<"Divide to zero"<<a<<endl;
    }
}
При введении 0 пишет 1.#INF , а мне надо бы , чтобы выводило Divide to zero , что тут не так?
0
Андрейка
421 / 225 / 27
Регистрация: 25.03.2009
Сообщений: 744
27.11.2009, 14:28 #6
Shved,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
int main()
{
    double x,y;
    try
    {
        std::cin>>x;
        if (x==0) throw "error";
        y = 1 / x;
        std::cout << y;
    }
    catch (const char *s)
    {
        std::cout<<"divide by zero"<<std::endl;
    }
    return 0;
}
1
BornLeader
53 / 49 / 1
Регистрация: 16.05.2008
Сообщений: 162
27.11.2009, 16:25 #7
Андрейка, чего уж тогда не так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
int main()
{
  double x,y;
  try
  {
    std::cin >> x;
    if (x==0) 
      throw "divide by zero";
    y = 1 / x;
    std::cout << y;
  }
  catch (const char *s)
  {
    std::cout << s << std::endl;
  }
  return 0;
}
1
Андрейка
421 / 225 / 27
Регистрация: 25.03.2009
Сообщений: 744
27.11.2009, 16:39 #8
BornLeader, а да точно просто на скорую руку лажанулся)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.11.2009, 16:39
Привет! Вот еще темы с ответами:

Исключения С++ - C++
С++. Перечитал уже много учебников, видел много примеров, но никак не пойму как пользоваться блоками try catch.. Может хоть кто-нибудь...

Исключения - C++
Никак не могу понять, как работают исключения в С++. Может быть кто-нибудь сможет объяснить на примере деления на 0. Исключения должны быть...

исключения - C++
скажите пожалуйстокак написать через исключение if(n&lt;=0 || n&gt;=100000000) { fclose(f); f=fopen(&quot;output.txt&quot;, &quot;w&quot;); ...

Исключения - C++
У Эккеля, во втором томе, в главе про исключения, встретил конструкцию такого вида: T&amp; operator(int i) throw(RangeError) { if(i...


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

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

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