เรียนเขียนโปรแกรมง่ายๆกับ expert Programming Tutor ในบท Python Try Except
try
บล็อกช่วยให้นักเรียนทดสอบบล็อกของโค้ดเพื่อหา Error
บล็อก except ช่วยให้นักเรียนจัดการ Error ได้
finally บล็อกช่วยให้นักเรียนสามารถเรียกใช้โค้ดโดยไม่คำนึงถึงผลของการทดลองและยกเว้นบล็อก
การจัดการExcaptions
เมื่อเกิดerrorหรือExcaptionsตามที่เราเรียกว่า Python จะหยุดและสร้างข้อความแสดงError
,Excaptions เหล่านี้สามารถจัดการได้โดยใช้คำสั่ง Try
ตัวอย่าง
บล็อก try จะสร้างexcaptionเนื่องจาก x ไม่ได้กำหนดไว้
#The try block will generate an error, because x is not defined: |
ผลลัพธ์
An exception occurred |
เนื่องจากบล็อกTryทำให้เกิดErrorบล็อกexcaptionจะถูกดำเนินการ หากไม่มีบล็อกtryโปรแกรมจะหยุดทำงานและทำให้เกิดError
Many Exceptions
นักเรียนสามารถกำหนดบล็อกExcaptinoได้มากเท่าที่นักเรียนต้องการเช่น หากนักเรียนต้องการรันบล็อกโค้ดพิเศษสำหรับErrorชนิดพิเศษ
ตัวอย่าง
พิมพ์หนึ่งข้อความหากบล็อกtry ยก NameError และอีกข้อความหนึ่งสำหรับErrorอื่น ๆ
try: |
ผลลัพธ์
Variable x is not defined |
การใช้คำสั่ง Else
นักเรียนสามารถใช้คีย์เวิร์ด else เพื่อกำหนดกลุ่มของโค้ดที่จะดำเนินการหากไม่มีErrorเกิดขึ้น
ตัวอย่าง
ในตัวอย่างนี้บล็อกTryไม่ได้สร้างErrorใด ๆ
#The try block does not raise any errors, so the else block is executed: |
ผลลัพธ์
Hello |
การใช้คำสั่ง Finally
อีกคำสั่งหนึ่งที่จำเป็นสำหรับการจัดการErrorก็คือคำสั่ง finally ที่สามารถใช้ร่วมกับคำสั่ง try ... except ได้ โดยการทำงานของมันนั้นจะแตกต่างจาก else คือจะทำงานในบล็อคคำสั่งนี้เสมอ ไม่ว่าจะเกิดErrorหรือไม่ก็ตาม มาดูตัวอย่างการใช้งาน
ตัวอย่าง
เป็นการกำหนดคำสั่งเมื่อสิ้นสุดการทำงานบล็อก try except โดยบล็อก finally จะทำงานไม่ว่าจะมีErrorเกิดขึ้นหรือไม่ก็ตาม
#The finally block gets executed no matter if the try block raises any errors or not: try: |
ผลลัพธ์
Something went wrong |
การปฎิเสธสิ่งผิดปกติ(Raising Exceptions)
ในฐานะนักพัฒนางูหลามนักเรียนสามารถเลือกที่จะโยนข้อยกเว้นหากเงื่อนไขเกิดขึ้น
ในการโยน(หรือ raise) ข้อยกเว้นให้ใช้คำหลัก raise
ตัวอย่าง
เพิ่มข้อผิดพลาดและหยุดโปรแกรมถ้า x ต่ำกว่า
x = -1 |
ผลลัพธ์
Traceback (most recent call last): |
คีย์เวิร์ดการ raise ใช้เพื่อเพิ่มข้อยกเว้น นักเรียนสามารถกำหนดชนิดของerrorที่จะเพิ่มและข้อความที่จะพิมพ์ให้กับผู้ใช้
ก็จบกันไปกับเรื่อง try Excape ซึ่งเป็นการหลีกเลี่ยงข้อผิดพลาดต่างๆ ของเเต่ละรูปแบบ ที่เราออกแบบการทำงานขึ้นมา
แปลจาก https://www.w3schools.com/python/python_try_except.asp
Tag ที่น่าสนใจ: python try_except error_handling exceptions programming nameerror syntaxerror code_example finally_block else_block
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM