คลาสพื้นฐานที่ผู้ใช้กำหนดสามารถเพิ่ม NotImplementedError เพื่อระบุว่าเมธอดหรือพฤติกรรมจำเป็นต้องกำหนดโดยคลาสย่อย โดยจำลองอินเทอร์เฟซ ข้อยกเว้นนี้มาจาก RuntimeError ในคลาสพื้นฐานที่ผู้ใช้กำหนด เมธอด abstract ควรยกข้อยกเว้นนี้เมื่อต้องการคลาสที่ได้รับมาแทนที่เมธอด
ตัวอย่าง
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
ผลลัพธ์
Subclasses should implement this! <type 'exceptions.NotImplementedError'>