Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะตรวจจับข้อยกเว้น NotImplementedError ใน Python ได้อย่างไร


คลาสพื้นฐานที่ผู้ใช้กำหนดสามารถเพิ่ม 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'>