Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để bắt NotImplementedError Exception trong Python?


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'>