Рассмотрим эти два фрагмента:
try:
a+a=a
except SyntaxError:
print "first exception caught"
.
try:
eval("a+a=a")
except SyntaxError:
print "second exception caught"
Во втором случае выводится инструкция "второе исключение.." (исключение поймано), а в первом - нет.
Является первым исключением (позволяет называть его "SyntaxError1" ) любым, отличным от второго ( "SyntaxError2" )?
Есть ли способ поймать SyntaxError1 (таким образом, подавляя ошибки времени компиляции)? Обтекание больших блоков кода в eval
неудовлетворительно;)