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

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

Войти
Регистрация
Восстановить пароль
 
Spender163
0 / 0 / 0
Регистрация: 04.03.2012
Сообщений: 7
#1

Обработка исключения - C++

06.12.2013, 14:27. Просмотров 312. Ответов 5
Метки нет (Все метки)

Доброго времени суток, ув. программисты С++.
Суть моей проблемы в том, что мне надо сделать некую обработку исключения. Задание следующее: Мне нужно считать данные из файла,выполнить с ними некоторые манипуляции (нахождение НОД) и записать результат в другой файл. Мне осталось сделать исключение,что бы если в файле находятся символы либо буквы, программка ругнулась, выдала сообщение мол "данные не соответствуют типу int, введите в файл числа" . В Delphi знаю как сделать,в С++ нет. Буду признателен за помощь. Вот код:
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
35
36
37
38
39
40
41
42
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
setlocale(LC_ALL, "RUS");
int a, b;
fstream F;
F.open("out.txt");
while (!F.eof()) F>>a>>b;
F.close();
int c=8;
while(c<10)
{
if(a>b)
{
a=a-b;
}
else if(a<b)
{
b=b-a;
}
else if(a=b)
{
cout<<"НОД введенных чисел равен "<<a<<endl;
c=12;
}
else if(a<=0)
{
cout<<"НОД введенных чисел равен "<<b<<endl;
c=12;
}
else if(b<=0)
{
cout<<"НОД введенных чисел равен "<<a<<endl;
c=12;
}
}
F.open("in.txt", ios::out);
F<<a<<"\t"<<b<<"\t";
F.close();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2013, 14:27     Обработка исключения
Посмотрите здесь:

Обработка сиситемного исключения - C++
Друзья как мне переделать код, чтобы была обработка сиситемного исключения? Нужно ещё кроме деления на 0, использовать другие исключения. ...

Обработка исключения на русские буквы (try/catch) - C++
Доброго времени суток. Хотелось бы узнать как обработать исключение на русские буквы через try/catch (желательно кодом) Заранее спасибо

Проверка входных данных: вызов и обработка исключения - C++
Всем привет. Не могу разобраться с проверкой входных данных. Нужно чтобы если я ввел какой либо символ вместо числа возбуждалось...

Конвертация wchar_t в число целого типа. Обработка исключения - C++
Конвертирую считываемые данные с Экселя в число типа int,для дальнейшей проверки вхождения в массив. buff содержит значение 12345qwe ...

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

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

исключения - C++
программа реализует проверку на двоичное число: #include &lt;iostream&gt; #include &lt;string.h&gt; using namespace std; //класс исключений ...

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

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

Исключения - C++
Привет всем. Помогите плиз с задачкой, никак не могу решить, нужно из кода ниже сделать классы производными от logic_error, определенного в...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
RamonN
32 / 32 / 11
Регистрация: 13.07.2011
Сообщений: 136
06.12.2013, 14:33     Обработка исключения #2
Используйте функции isalpha или isdigit
Spender163
0 / 0 / 0
Регистрация: 04.03.2012
Сообщений: 7
06.12.2013, 14:41  [ТС]     Обработка исключения #3
Спасибо,но хотелось бы посмотреть полный вариант с использованием try и catch
Spender163
0 / 0 / 0
Регистрация: 04.03.2012
Сообщений: 7
07.12.2013, 22:43  [ТС]     Обработка исключения #4
Ап теме!
Croessmah
Модератор
Эксперт CЭксперт С++
13045 / 7308 / 814
Регистрация: 27.09.2012
Сообщений: 18,041
Записей в блоге: 3
Завершенные тесты: 1
07.12.2013, 22:50     Обработка исключения #5
Цитата Сообщение от Spender163 Посмотреть сообщение
Мне осталось сделать исключение,что бы если в файле находятся символы либо буквы,
можно обработать без исключений и будет даже лучше.
igorrr37
1643 / 1271 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
07.12.2013, 23:12     Обработка исключения #6
Наверно что-то типа этого
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 <fstream>
#include <stdexcept>
 
int main()
{
    try
    {
        std::ifstream ifs("in.txt");
        if(!ifs.is_open())
            throw std::runtime_error("Unable to open input file");
        int num1, num2;
        if(!(ifs >> num1 >> num2))
            throw std::runtime_error("operator>> failed");
        else
            std::cout << num1 << '\n' << num2 << std::endl;
        ifs.close();
    }
    catch(std::exception const& e)
    {
        std::cerr << e.what() << std::endl;
    }
    return 0;
}
Yandex
Объявления
07.12.2013, 23:12     Обработка исключения
Ответ Создать тему
Опции темы

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