Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определение точек пересечения графика функции у = Ах4 + Вx2+ С с осями координат (DevС++) http://www.cyberforum.ru/cpp-beginners/thread1473344.html
Помогите пожалусто разработать программу для определения точек пересечения графика функции у = Ах4 + Вx2+ С с осями координат. Также построить график этой функции в промежутке от –100 до 100....
C++ Ошибка с Log(10) Ругается "error C2668: log: неоднозначный вызов перегруженной функции" в этой строчке if ( log(x*x+y*y)/log(10) >Z) { Z=log(x*x+y*y)/log(10) ; } #include <iostream> #include <cmath> using... http://www.cyberforum.ru/cpp-beginners/thread1473336.html
Передача аргументов в функцию по ссылке и указателю C++
Чем отличается передача по ссылке от передачи по указателю аргументов в функцию?
Как можно увеличить размер вектора, который является элементом вектора vector<vector<int>>arr(n, vector <int>) C++
Написал программу, которая создает вектор 'а' векторов 'b', вектора 'b' содержат 2 числа. Стало интересно, как нужно изменить программу чтобы вектора 'b' могли содержать разные количества чисел (Я...
C++ Приведение типа через указатель http://www.cyberforum.ru/cpp-beginners/thread1473296.html
#include <iostream> using namespace std; int main() { double b = 2.3; int* pb; pb = (int*)&b; *pb = 77;
C++ MySql: ошибка открытия соединения БД Раньше всё работало замечательно, сейчас появляется неведомая мне ошибка. Пробовал 2 ситуации: 1. Открыл соединение, выполнил запрос и закрыл соединение с БД. Второй раз пробую открыть соединение... подробнее
mymedia
193 / 193 / 120
Регистрация: 27.05.2011
Сообщений: 544
09.06.2015, 16:46 0

Обработка исключительной ситуации с файлом

09.06.2015, 16:46. Просмотров 624. Ответов 12
Метки (Все метки)

Ответ

Что касательно ошибок при открытии файла, то можно поступить следующим образом
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <fstream>
 
int main() 
{
    int ivalue;
    try {
        std::ifstream in("in.txt");
        in.exceptions(std::ifstream::failbit);
        in >> ivalue;
    } catch (std::ios_base::failure &fail) {
        std::cout << fail.what() << std::endl;
    }
}
Что касательно исключений, то это просто-напросто способ передачи управления. try, throw и catch — это такая же управляющая структура как цикл, условный выбор, вызов функции. На мой взгляд, исключения можно представить как вызов функции с одним параметром:
C++
1
2
3
4
5
6
7
8
9
10
11
try {
    // замудрённые вызовы функций, внутри которых встречается следующая строчка
    throw /* желательно объект какого-нибудь класса */;
    // ...
} catch(/* тип */ /* имя аргумента (не обязательно) */) {
    // ...
} catch (...) {
    // у функций тоже может быть многоточие вместо аргументов
    // поэтому за сходство блока catch с телом функции, можно представить,
    // что генерация исключения = вызов функции
}


Вернуться к обсуждению:
Обработка исключительной ситуации с файлом
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2015, 16:46

обработка сторок и работа с файлом
Имеется исходный файл(с кодом программы, файл txt), нужно из него считать текст...

Работа с текстовым файлом: как посчитать кол-во букв в слове? (посимвольная обработка)
Работа с текстовым файлом: как посчитать кол-во букв в слове? (посимвольная...

исключительные ситуации
почему не работает?? как надо?? #include&lt;iostream&gt; #include&lt;conio.h&gt;...

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