Справочники C++ try catch

Информация по поводу - try catch

Исключения это то, что может непредвиденно возникнуть в ходе работы программы. Если такое случиться, то программа просто перестанет работать или же вовсе выключиться. Чтобы такого не допустить вам всегда стоит добавлять исключения при работе с различными вещами. 


К примеру, вы хотите добавить возможность деления двух чисел? Добавьте также исключение, которое позволит проверять, не является ли делитель нулем. Вы хотите открыть файл для записи в него? Пропишите исключение, которое будет срабатывать если файл не найден, чтобы программа не пыталась его открывать повторно.

Для реализации исключений в языке C++ существует оператор try catch. Оператор проверяет некое действие и запускает исключение, если была найдена ошибка: 

try { // В этом блоке идет проверка кода на ошибки
 if (variable == 0) // Проверяем делитель на ноль
 throw 277; // Запускаем исключение и передаем в него параметр
 cout << something / variable << endl; 
} catch(int i) { // Здесь отлавливаем переданный в throw параметр
 // Если такой параметр есть, то мы избежали ошибку, но она могла бы быть
 // Мы можем что-то с этим сделать, к примеру просто сказать об этом пользователю!
 cout << "Нам очень повезло!" << endl;
 cout << "Нам удалось изежать ошибки с индексом " << i << " - на 0 делить нельзя!";
}

Вы можете удивиться зачем использовать этот оператор, если можно обойтись простыми условными операторами. Возможно, в некоторых случаях использование условных операторов действительно будет проще, но для отслеживания различных ошибок в ходе программы, когда программа на гране "зависания" лучше использовать именно try catch, в котором мы сможем контролировать все этапы работы программы. Кроме того, есть случаи, где без исключений отловить ошибку будет очень сложно.


Программа может возвращать не только числовое значение, но также это может быть и строки. В блоке try catch можно указывать несколько операторов catch, которые будут отслеживать сразу несколько разных исключений.