SyntaxError เกิดขึ้นทุกครั้งที่ parser พบซอร์สโค้ดที่ไม่เข้าใจ อาจเป็นได้ในขณะนำเข้าโมดูล เรียกใช้ exec หรือเรียก eval() แอตทริบิวต์ของข้อยกเว้นสามารถใช้เพื่อค้นหาว่าส่วนใดของข้อความที่ป้อนทำให้เกิดข้อยกเว้น
เราเขียนโค้ดที่กำหนดใหม่เพื่อจัดการกับข้อยกเว้นและค้นหาประเภท
ตัวอย่าง
try: print eval('six times seven') except SyntaxError, err: print 'Syntax error %s (%s-%s): %s' % \ (err.filename, err.lineno, err.offset, err.text) print err
ผลลัพธ์
C:/Users/TutorialsPoint1/~.py Syntax error <string> (1-9): six times seven invalid syntax (<string>, line 1)