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

ข้อยกเว้นที่ผู้ใช้กำหนด (User-Defined Exceptions) ใน Python

Python ยังอนุญาตให้คุณสร้างข้อยกเว้นของตัวเองได้โดยการสืบทอดคลาสจากข้อยกเว้น built-in มาตรฐาน

นี่คือตัวอย่างที่เกี่ยวข้องกับ RuntimeError ที่นี่ สร้างคลาสที่สืบทอดจาก RuntimeError นี้มีประโยชน์เมื่อคุณต้องการแสดงข้อมูลเฉพาะเจาะจงมากขึ้นเมื่อจับข้อยกเว้นได้

ในบล็อก try ข้อยกเว้นที่ผู้ใช้กำหนดถูก raise และจับในบล็อก except ตัวแปร e ใช้สร้างอินสแตนซ์ของคลาส Networkerror

class Networkerror(RuntimeError):
    def __init__(self, arg):
        self.args = arg

ดังนั้นเมื่อคุณกำหนดคลาสข้างต้นแล้ว คุณสามารถ raise ข้อยกเว้นได้ดังนี้:

try:
    raise Networkerror("Bad hostname")
except Networkerror, e:
    print e.args