Creating Custom Exception

ក្រៅ​ពី​ exception ដែល​ជា​ instance នៃ​ថ្នាក់​មាន​ស្រាប់​មួយ​ចំនួន​ដូច​ខាង​លើ​នេះ យើង​អាច​បង្កើត​ថ្នាក់​នៃ​ exception របស​យើង​ផ្ទាល់ ដើម្បី​បង្កើត​ exception ផ្ទាល់​ខ្លួន​របស់​យើង​ក្នុង​ករណី​ចាំបាច់​ទាំងឡាយ​។

យ៉ាងណាម៉ិញ នៅ​ក្នុង​ភាសា Python ថ្នាក់​នៃ​ exception ក៏​ដូច​ជា​ថ្នាក់​ធម្មតា​ឯទៀត​ៗ​ដែរ ដូចនេះ ការបង្កើត​ថ្នាក់​នៃ​ exception គ្មាន​ការខុស​ប្លែក​អ្វី​ពី​ការបង្កើត​ថ្នាក់​ធម្មតា​ដទៃ​ទៀត​ឡើយ​។ ពិនិត្យ​កម្មវិធី​ខាង​ក្រោម​នេះ៖

class MyExceptionError(Exception):
    def __str__(self):
        return 'MyExceptionError occurred.'


try:
    raise MyExceptionError()

except MyExceptionError as error:
    print(error)
    
MyExceptionError occurred.

ដូចនេះ យើង​សង្កេត​ឃើញ​ថា ការបង្កើត​ថ្នាក់ exception ថ្មី​ៗ​ទៀត ទាមទារ​អោយ​មាន​ការបន្ត​ថ្នាក់​ចេញ​ពី​ថ្នាក់​មាន​ស្រាប់ Exception ។

លើស​ពី​នេះ​ទៀត នៅ​មាន​លក្ខណៈ​ពិ​សេស​មួយ​ទៀត នៅ​ក្នុង​ការបង្កើត​ថ្នាក់​នៃ exception ។ លក្ខណៈ​ពិសេស​នោះ គឺ​ថា​តាម​រយៈ superclass យើង​អាច​ទទួល​យក exception របស់ subclass បាន​។ ពិនិត្យ​កម្មវិធី​ខាង​ក្រោម​នេះ៖

class MyExceptionError(Exception):
    def __str__(self):
        return 'MyExceptionError occurred.'


try:
    raise MyExceptionError()

except Exception as error:
    print(error)
    ​​
MyExceptionError occurred.