Coding for KidsCoding for Kids
ระดับสร้างสรรค์ความท้าทายคู่มือครู
โหวตสำหรับฟีเจอร์
หลักสูตรการพัฒนาด้วย Python ขั้นสูง
บทที่
>
ระดับ

การจัดการข้อยกเว้น
การจัดการข้อยกเว้น

วัตถุประสงค์

บรรจุอุปกรณ์เข้าสู่กล่องและจัดการกับข้อผิดพลาดที่อาจเกิดขึ้นโดยใช้ Exceptions.

มีอุปกรณ์ฉุกเฉินหลายอย่างที่จำเป็นต้องบรรจุเข้าชุดและจัดเก็บในกล่องสำหรับใช้งานในภายหลัง การทำเช่นนี้ค่อนข้างตรงไปตรงมาและสามารถทำได้ด้วยฟังก์ชันพื้นฐานที่คุณเรียนรู้มาแล้ว แต่อย่างไรก็ตาม บางครั้งสิ่งต่าง ๆ ก็ไม่เป็นไปตามที่วางแผนไว้ เมื่อเขียนโปรแกรม คุณอาจสังเกตว่าบางครั้งมีข้อผิดพลาดปรากฏบนหน้าจอ และมีสัญลักษณ์สีแดงแสดงในโปรแกรมแก้ไข ณ จุดที่เกิดปัญหา คุณสามารถลดปัญหานี้ได้โดยการตั้งค่าโค้ดบล็อก try และ except

บล็อกโค้ดเหล่านี้ถูกใช้เพื่อตั้งค่า Exception และจับข้อผิดพลาดก่อนที่ข้อผิดพลาดจะหยุดการทำงานของโค้ดของคุณ วิธีการทำงานคือคุณใช้ try กับโค้ดที่อาจมีปัญหาหรือเกิดข้อผิดพลาดได้ จากนั้นใช้ except เพื่อแทนที่โค้ดด้วยโค้ดอื่นในกรณีที่เกิดข้อผิดพลาดขึ้น ตัวอย่างเช่น:

#The try code block attempts to run a code try: number + number + string #This code yeilds an error, you can't sum numbers with string except: #If an error occurs the except code block is run instead number + number + number #The code is switched out by a sum of three numbers instead

เริ่มต้นโดยเก็บวัสดุทั้งหมดในสนาม ได้แก่: กระป๋องน้ำ, "thread" และผ้าห่มสีสามผืน: "blue blanket", "red blanket", "green blanket". เริ่มต้นด้วยการเดินไปที่ส่วนบนของแผนที่และหยิบผ้าห่มทั้งสามผืน จากนั้นเดินไปยังเครื่องหมาย X สีอ่อนและใช้ฟังก์ชัน collect() เพื่อเก็บ "thread" จากภาชนะ ต่อด้วยการเดินไปยังส่วนล่างสุดของแผนที่และหยิบกระป๋องน้ำทั้งหมด

เมื่อเก็บสิ่งของทั้งหมดแล้ว ให้เดินไปยังเครื่องหมาย X สีเข้มเหนือพรมสีน้ำเงินเพื่อเริ่มวางวัสดุที่คุณเพิ่งเก็บมา เริ่มแรกให้เพิ่มน้ำและ thread ลงในตัวแปรด้วยหน่วย 2 และ 3 ตามลำดับ ดังนี้: water_can = 2 และ thread = 3 จากนั้นตั้งค่าชุดอุปกรณ์เป็นตัวแปรโดยการบวกตัวแปรที่สร้างไว้ก่อนหน้านี้กับผ้าห่มสีตามรูปแบบต่อไปนี้:

blue_kit = water_can + thread + "blue blanket" red_kit = water_can + thread + "red blanket" green_kit = water_can + thread + "green blanket" # Add all elements together into kits for ease of storage

เมื่อชุดอุปกรณ์ถูกประกอบขึ้นในตัวแปร blue_kit, red_kit, green_kit แล้ว ถึงเวลานำชุดเหล่านี้ใส่ลงในกล่องที่ตรงกับสีของมัน แต่คุณอาจสังเกตเห็นว่าโค้ดเกิดข้อผิดพลาดขึ้น แต่ทำไม? ทุกอย่างถูกต้องและได้ปฏิบัติตามคำแนะนำแล้ว บางครั้งแม้จะดูชัดเจน แต่สิ่งต่าง ๆ อาจไม่ทำงานตามที่เราต้องการ ในกรณีนี้คุณไม่สามารถบวกจำนวนกับสตริงในตัวแปรได้

แล้วเราจะแก้ไขปัญหานี้อย่างไร? โดยใช้บล็อกโค้ด try / except เพื่อตรวจจับข้อผิดพลาดและเปลี่ยนเป็นค่าที่เหมาะสม สำหรับแต่ละตัวแปรทั้งสาม (3) ให้ใช้การจัดการข้อผิดพลาดดังกล่าว ซึ่งในกรณีที่เกิดข้อผิดพลาดจะเปลี่ยนโค้ดเป็นค่าตัวเลขแทนสตริงที่ระบุไว้

try: blue_kit = water_can + thread + "blue blanket" except: blue_kit = water_can + thread + 1

แม้ว่าในกรณีนี้เราจะทราบถึงข้อผิดพลาด แต่ในบางสถานการณ์ค่าภายในตัวแปรอาจไม่ตรงไปตรงมาหรืออาจแตกต่างกันไปตามเงื่อนไขบางประการ ซึ่งทำให้เครื่องมือนี้มีประโยชน์สำหรับการแก้ไขปัญหาหรือดักจับข้อผิดพลาดในระหว่างการทำงาน

ทำภารกิจให้เสร็จสมบูรณ์โดยเดินไปยังเครื่องหมาย X สีเข้มเหนือพรมสีต่าง ๆ หันหน้าไปที่กล่อง และใช้ฟังก์ชัน place() เพื่อวางตัวแปรชุดอุปกรณ์ของสีที่ตรงกันลงในกล่องที่ถูกต้อง

หนังสือโค้ด