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