Чем отличается SyntaxError от исключений, возникающих во время выполнения?
Уровень: Senior
Ответ
SyntaxError – это ошибка парсинга кода, обнаруживается еще на этапе компиляции байт-кода, до выполнения программы. Код с синтаксической ошибкой вообще не запустится (нужно исправить исходник). Исключения же (TypeError, ValueError и прочие) возникают при выполнении уже корректно скомпилированной программы, когда случается неверная ситуация. Исключения можно перехватывать в runtime через try/except, а SyntaxError нельзя обработать внутри кода – он препятствует запуску кода. SyntaxError обычно говорит о допущенной опечатке или неправильной грамматике в исходнике.