Các lớp cơ sở do người dùng định nghĩa có thể nâng cao NotImplementedError để chỉ ra rằng một phương thức hoặc hành vi cần được định nghĩa bởi một lớp con, mô phỏng một giao diện. Ngoại lệ này có nguồn gốc từ RuntimeError. Trong các lớp cơ sở do người dùng định nghĩa, các phương thức trừu tượng sẽ nâng cao ngoại lệ này khi chúng yêu cầu các lớp dẫn xuất ghi đè phương thức.
Ví dụ
import sys try: class Super(object): @property def example(self): raise NotImplementedError("Subclasses should implement this!") s = Super() print s.example except Exception as e: print e print sys.exc_type
Đầu ra
Subclasses should implement this! <type 'exceptions.NotImplementedError'>