Вони не одне і те ж.
помилка є ненавмисним поведінкою частини програмного забезпечення: програмне забезпечення не робити те , що він повинен робити. Помилки можуть жити на всіх рівнях розробки програмного забезпечення, починаючи від звичайних старих помилок, через логічні помилки і закінчуючи неадекватними функціональними характеристиками.
Виняток , навпаки, може ставитися або незвичайний стан програми, відхиляючись від нормальної роботи, або, більш конкретно, до конструкції мови , використовуваної для сигналізації та обробки таких умов.
Те, що відбувається виняток, може бути ознакою помилки, але часто це не так. Наприклад, додаток, який повинен завантажувати документ з URL-адреси та обробляти його локально, може викинути виняток, коли віддалений сервер не працює: програма відхиляється від нормальної роботи (не може завантажувати та обробляти документ), але якщо він обробляє виняток належним чином і відновлює, тоді помилок немає.
І навпаки, наявність помилки не обов'язково виявляється як виняток. Додаток може мовчки відкидати дані, які ви вводите, замість того, щоб зберігати їх у своїй базі даних; не виняток кидається, але це все-таки помилка.