Яка різниця між винятком і помилкою в C++?
У C++ помилка або перешкоджає успішній компіляції програми, або призводить до збою програми під час виконання. Винятком є умова, про яку ви знаєте, яка призведе до збою програми або призведе до представлення або збереження неправильної інформації після обчислень. 21 серпня 2018 р.
Помилка: Помилка вказує на серйозну проблему, яку розумна програма не повинна намагатися виявити. Виняток: Виняток вказує на умови, які розумна програма може спробувати вловити.
Помилка — це така подія, яку ніхто не може контролювати чи вгадати, коли вона станеться. Виняток можна вгадати, обробити та використати, щоб змінити початковий потік програми.
Таким чином, помилки та винятки представляють різні типи проблем, які можуть виникнути під час виконання програми. Помилки зазвичай викликані серйозними проблемами, які неможливо відновити, тоді як винятки використовуються для обробки виправних помилок у програмі.
Помилка є незаконна операція, виконана користувачем, яка призводить до неправильної роботи програми. Помилки програмування часто залишаються непоміченими, поки програма не буде скомпільована або виконана. Деякі помилки перешкоджають компіляції або виконанню програми.
Типи винятків C++
Виняток | опис |
---|---|
std::logic_failure | Можна виявити, прочитавши код. |
std::runtime_error | Неможливо виявити шляхом читання коду. |
std::domain_error | Викидається під час використання математично недійсного домену. |
std::invalid_argument | Видається під час використання недійсних аргументів. |