Довідники C++ try catch

Що таке try catch в C++?

Винятки це те, що може виникнути в ході роботи програми. Якщо таке трапиться, то програма просто перестане працювати або зовсім вимкнутися. Щоб такого не допустити вам завжди варто додавати винятки під час роботи з різними речами. 


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

Для реалізації винятків у мові 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, які будуть відслідковувати відразу кілька різних винятків.

Коментарі
Додати коментар

Поки що коментарів немає