ក្រៅពី exception ដែលជា instance នៃថ្នាក់មានស្រាប់មួយចំនួនដូចខាងលើនេះ យើងអាចបង្កើតថ្នាក់នៃ exception របសយើងផ្ទាល់ ដើម្បីបង្កើត exception ផ្ទាល់ខ្លួនរបស់យើងក្នុងករណីចាំបាច់ទាំងឡាយ។
យ៉ាងណាម៉ិញ នៅក្នុងភាសា Python ថ្នាក់នៃ exception ក៏ដូចជាថ្នាក់ធម្មតាឯទៀតៗដែរ ដូចនេះ ការបង្កើតថ្នាក់នៃ exception គ្មានការខុសប្លែកអ្វីពីការបង្កើតថ្នាក់ធម្មតាដទៃទៀតឡើយ។ ពិនិត្យកម្មវិធីខាងក្រោមនេះ៖
1 2 3 4 5 6 7 8 9 10 11 | class MyExceptionError(Exception): def __str__( self ): return 'MyExceptionError occurred.' try : raise MyExceptionError() except MyExceptionError as error: print (error) |
1 | MyExceptionError occurred. |
ដូចនេះ យើងសង្កេតឃើញថា ការបង្កើតថ្នាក់ exception ថ្មីៗទៀត ទាមទារអោយមានការបន្តថ្នាក់ចេញពីថ្នាក់មានស្រាប់ Exception ។
លើសពីនេះទៀត នៅមានលក្ខណៈពិសេសមួយទៀត នៅក្នុងការបង្កើតថ្នាក់នៃ exception ។ លក្ខណៈពិសេសនោះ គឺថាតាមរយៈ superclass យើងអាចទទួលយក exception របស់ subclass បាន។ ពិនិត្យកម្មវិធីខាងក្រោមនេះ៖
1 2 3 4 5 6 7 8 9 10 11 | class MyExceptionError(Exception): def __str__( self ): return 'MyExceptionError occurred.' try : raise MyExceptionError() except Exception as error: print (error) |
1 | MyExceptionError occurred. |