มีคลาส Exception ซึ่งเป็นคลาสพื้นฐานสำหรับ StopIteration, StandardError และ Warning ข้อผิดพลาดมาตรฐานทั้งหมดมาจาก StandardError ข้อผิดพลาดมาตรฐานบางอย่าง เช่น ArithmeticErrror, AttributeError, AssertionError มาจาก StandardError คลาสพื้นฐาน
เมื่อการอ้างอิงแอตทริบิวต์หรือการกำหนดล้มเหลว AttributeError จะเพิ่มขึ้น ตัวอย่างเช่น เมื่อพยายามอ้างอิงแอตทริบิวต์ที่ไม่มีอยู่:
เราเขียนโค้ดที่กำหนดใหม่และตรวจจับข้อยกเว้นและรู้ว่าเป็นประเภทใด
ตัวอย่าง
import sys try: class Foobar: def __init__(self): self.p = 0 f = Foobar() print(f.p) print(f.q) except Exception as e: print e print sys.exc_type print 'This is an example of StandardError exception'
ผลลัพธ์
0 Foobar instance has no attribute 'q' <type 'exceptions.AttributeError'> This is an example of StandardError exception