Có lớp Ngoại lệ, là lớp cơ sở cho StopIteration, StandardError và Warning. Tất cả các lỗi tiêu chuẩn đều bắt nguồn từ StandardError. Một số lỗi tiêu chuẩn như ArithmeticErrror, AttributeError, AssertionError có nguồn gốc từ StandardError của lớp cơ sở.
Khi một tham chiếu thuộc tính hoặc phép gán không thành công, AttributeError sẽ xuất hiện. Ví dụ:khi cố gắng tham chiếu một thuộc tính không tồn tại:
Chúng tôi viết lại mã đã cho và bắt ngoại lệ và biết nó loại.
Ví dụ
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'
Đầu ra
0 Foobar instance has no attribute 'q' <type 'exceptions.AttributeError'> This is an example of StandardError exception