Невозможно обработать SyntaxError

Невозможно обработать

try:
    def f()
except SyntaxError:
    pass

Ответы (2 шт):

Автор решения: HTMLProgrammer

ошибки синтаксиса отлавливать нельзя, так как они генерируются не во время рантайма.
Разве что вот так:

try:
    eval('def func()')
except SyntaxError:
    print "You cannot do that"
→ Ссылка
Автор решения: drm

Словить SyntaxError можно только из eval, exec, import.

→ Ссылка