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

Try และ Except ใน Python (การจัดการข้อยกเว้น)


เพื่อใช้การจัดการข้อยกเว้นใน Python เราต้องจับ except clauses ทั้งหมดก่อน

Python มีคีย์เวิร์ด "try" และ "except" สำหรับจับข้อยกเว้น บล็อก "try" จะถูกรันคำสั่งทีละคำสั่ง อย่างไรก็ตาม หากเกิดข้อยกเว้น โค้ด "try" ที่เหลือจะไม่ถูกรัน และ except clause จะถูกรันแทน

try:     some_statements_here except:     exception_handling

มา看看ไวยากรณ์ข้างต้นด้วยตัวอย่างง่ายๆ −

try:     print("Hello, World!") except:     print("This is an error message!")

ผลลัพธ์

Hello, World!

ข้างต้นเป็นตัวอย่างง่ายมาก มาเข้าใจแนวคิดข้างต้นด้วยตัวอย่างอีกอย่าง −

import sys List = ['abc', 0, 2, 4] for item in List:     try:         print("The List Item is", item)         r = 1/int(item)         break     except:         print("Oops!",sys.exc_info()[0],"occured.")         print('\n')         print("Next Item from the List is: ")         print() print("The reciprocal of",item,"is",r)

ผลลัพธ์

The List Item is abc Oops!  occured. Next Item from the List is: The List Item is 0 Oops!  occured. Next Item from the List is: The List Item is 2 The reciprocal of 2 is 0.5

ในโปรแกรมข้างต้น ลูปจะรันจนกว่าเราจะได้ (เป็นอินพุตจากผู้ใช้) จำนวนเต็มที่มี reciprocal ที่ถูกต้อง โค้ดที่ทำให้เกิดข้อยกเว้นถูกวางไว้ภายใน try block

ในกรณีที่มีข้อยกเว้นเกิดขึ้น มันจะถูกจับโดย except block เราสามารถทดสอบโปรแกรมข้างต้นกับข้อผิดพลาดข้อยกเว้นทั่วไปได้ ด้านล่างคือบางข้อยกเว้นทั่วไป −

  • IOError

    เกิดขึ้นในกรณีที่เราเปิดไฟล์ไม่ได้

  • ImportError

    เกิดขึ้นในกรณีที่โมดูลหายไป

  • ValueError

    เกิดขึ้นเมื่อเราส่งอาร์กิวเมนต์ที่มีชนิดถูกต้องแต่ค่าไม่เหมาะสมของ built-in operator หรือ function

  • KeyboardInterrupt

    เมื่อผู้ใช้กดปุ่ม interrupt (โดยทั่วไป control-c)

  • EOFError

    ข้อยกเว้นที่เกิดขึ้นเมื่อ built-in functions พบเงื่อนไข end-of-file (EOF) โดยไม่ได้อ่านข้อมูลใดๆ