Python Glossary English

все Python 3Исключенияисключение

SyntaxError

встроенные исключения

Синтаксически некорректный код (обнаруживается при компиляции): eval('1 +').

Синтаксис

raise SyntaxError

Обернуть собственный сломанный код в try/except невозможно: файл разбирается целиком до запуска, и ошибка возникает раньше, чем выполнится первая строка. Перехват осмыслен только для кода, компилируемого на лету — eval(), exec(), compile(), импорт стороннего модуля. У объекта есть msg, filename, lineno, offset и text, по ним показывают точное место; IndentationError и TabError — его подклассы.

Примеры

try:
    eval('1 +')
except SyntaxError as e:
    print(type(e).__name__)   # → SyntaxError

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности