Яка різниця між винятком і помилкою в C++?

У C++ помилка або перешкоджає успішній компіляції програми, або призводить до збою програми під час виконання. Винятком є ​​умова, про яку ви знаєте, яка призведе до збою програми або призведе до представлення або збереження неправильної інформації після обчислень. 21 серпня 2018 р.

Помилка: Помилка вказує на серйозну проблему, яку розумна програма не повинна намагатися виявити. Виняток: Виняток вказує на умови, які розумна програма може спробувати вловити.

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

Таким чином, помилки та винятки представляють різні типи проблем, які можуть виникнути під час виконання програми. Помилки зазвичай викликані серйозними проблемами, які неможливо відновити, тоді як винятки використовуються для обробки виправних помилок у програмі.

Помилка є незаконна операція, виконана користувачем, яка призводить до неправильної роботи програми. Помилки програмування часто залишаються непоміченими, поки програма не буде скомпільована або виконана. Деякі помилки перешкоджають компіляції або виконанню програми.

Типи винятків C++

Винятокопис
std::logic_failureМожна виявити, прочитавши код.
std::runtime_errorНеможливо виявити шляхом читання коду.
std::domain_errorВикидається під час використання математично недійсного домену.
std::invalid_argumentВидається під час використання недійсних аргументів.