คุณสามารถยกข้อยกเว้นได้หลายวิธีโดยใช้คำสั่งยก ไวยากรณ์ทั่วไปสำหรับคำสั่งเพิ่มมีดังนี้
ไวยากรณ์
raise [Exception [, args [, traceback]]]
ในที่นี้ ข้อยกเว้นคือประเภทของข้อยกเว้น (เช่น NameError) และอาร์กิวเมนต์คือค่าสำหรับอาร์กิวเมนต์ข้อยกเว้น อาร์กิวเมนต์เป็นทางเลือก หากไม่ระบุ อาร์กิวเมนต์ข้อยกเว้นคือไม่มี
อาร์กิวเมนต์สุดท้าย traceback ก็เป็นทางเลือกเช่นกัน (และไม่ค่อยได้ใช้ในทางปฏิบัติ) และถ้ามี จะเป็นออบเจ็กต์ traceback ที่ใช้สำหรับข้อยกเว้น
ตัวอย่าง
ข้อยกเว้นอาจเป็นสตริง คลาส หรืออ็อบเจ็กต์ ข้อยกเว้นส่วนใหญ่ที่แกน Python ยกขึ้นคือคลาส โดยมีอาร์กิวเมนต์ที่เป็นตัวอย่างของคลาส การกำหนดข้อยกเว้นใหม่นั้นค่อนข้างง่ายและสามารถทำได้ดังนี้ -
def functionName( level ): if level < 1: raise "Invalid level!", level # The code below to this would not be executed # if we raise the exception
หมายเหตุ − เพื่อตรวจจับข้อยกเว้น ประโยค "ยกเว้น" ต้องอ้างถึงข้อยกเว้นเดียวกันที่ส่งออกมาในคลาสอ็อบเจกต์หรือสตริงอย่างง่าย ตัวอย่างเช่น ในการจับข้อยกเว้นข้างต้น เราต้องเขียนส่วนยกเว้นดังนี้ −
try: Business Logic here... except "Invalid level!": Exception handling here... else: Rest of the code here...