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

เพิ่มข้อยกเว้นใน Python


คุณสามารถยกข้อยกเว้นได้หลายวิธีโดยใช้คำสั่งยก ไวยากรณ์ทั่วไปสำหรับคำสั่งเพิ่มมีดังนี้

ไวยากรณ์

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...