В чём отличие бага от исключения?
Подскажите, чем баг отличается от исключения в языке программирования Python?
Ответы (1 шт):
Баг - необработанная ошибка в поведении программы, из за которой ты получаешь непредвиденное поведение или исключение. Например: Калькулятор на 5+5 отвечает 55, так как ты забываешь преобразовать строку к цифре. В данном случае представлено неожиданное поведение (ведь исключение не вызывается)
Исключение - внутренняя ошибка которая вызывается специально, и которую можно и нужно перехватить. Например: Пользователь ввёл имя файла для чтения, но сам файл отсутствует. Метод для чтения файла вызывает исключение FileNotFoundException, но ты перехватываешь данное исключение и отправляешь сообщение пользователю, что введённый файл не существует.
Необработанное исключение - баг. Например: в калькулятор пользователь вводит 5/0, и операция деления вызывает исключение ZeroDivisionError. Если ты его не обработаешь, то твоя программа просто крашнется. В данном контексте пофиксить баг - обработать это исключение - добавить метод для отлова данного исключения с помощью try и except что бы вывести пользователю сообщение об ошибки.