ลองมาดูตัวอย่างอื่นที่นี่
สมมติว่าฉันกำลังสร้างฟังก์ชันผลรวมอย่างง่าย
ใช่ ฉันรู้ว่ามีอยู่แล้วใน Python แต่เราจะสร้างมันขึ้นมาเอง
แบบง่ายๆ ที่เอาเลขหนึ่งและเลขสอง
และในนี้เราจะคืนค่า เลขหนึ่ง บวก เลขสอง
ทีนี้ถ้าเราจะทำอย่างใดอย่างหนึ่ง
และบางส่วนด้วย
และฉันก็รันโปรแกรมของเรา
เลยพิมพ์ออกมาก่อน
ฉันคลิกเรียกใช้
ฉันได้รับหนึ่งและสองเพราะมันเพียงเพิ่มสองสตริงเข้าด้วยกัน
ลองทำสิ่งนี้แล้วคลิกเรียกใช้
ฉันได้รับข้อผิดพลาดประเภทต้องเป็นสตริงไม่ใช่ int
จากสิ่งที่เราเรียนรู้มา เราจะจัดการกับเรื่องนี้อย่างไร?
เราสามารถเพิ่มบล็อกไตรในนี้และปิดฟังก์ชันนี้ได้
หรือเราสามารถสร้างมันขึ้นมาในฟังก์ชันของเราได้โดยตรง
เลยบอกได้เลยว่าลอง
ส่วนนี้.
และที่นี่มีประโยคทางออก
ที่บอกว่าบางทีถ้าเราได้รับข้อผิดพลาดประเภทใด
เราจะพิมพ์
บางสิ่งบางอย่างที่ไม่ถูกต้อง.
ถ้าฉันเรียกใช้สิ่งนี้
ฉันเข้าใจบางอย่างผิดปกติ
แต่นี่คือปัญหา
โดยเพียงแค่ทำยอมรับโดยไม่มีข้อยกเว้น
ในฐานะโปรแกรมเมอร์ ฉันกำลังอ่านข้อความนี้และไม่รู้จริงๆ ว่าอะไรผิดพลาด เพราะมันอาจมีหลายสิ่งหลายอย่าง
แนวปฏิบัติที่ดีคือการตรวจจับข้อผิดพลาดเหล่านี้โดยพิจารณาจากข้อยกเว้นเฉพาะเสมอ
วิธีนี้จะทำให้คุณรู้ว่าข้อผิดพลาดคืออะไร และคุณสามารถอธิบายเพิ่มเติมได้
ในที่นี้ เราสามารถพูดได้ว่า type error และ type error นี้ เราสามารถพูดได้ว่า Please enter numbers.
เพื่อที่ถ้าฉันเรียกใช้อีกครั้ง โปรดป้อนตัวเลข
ดังนั้นตอนนี้
ไม่เป็นไร.
ข้อผิดพลาดของฉันมีคำอธิบายมากขึ้น
ฉันควรแก้ไขปัญหานี้และตรวจสอบให้แน่ใจว่าได้ป้อนตัวเลขแล้ว
สุดยอด.
ตอนนี้รูปแบบทั่วไปเมื่อจัดการข้อผิดพลาดคือทำบางสิ่งเช่นข้อผิดพลาดประเภทนี้แล้วทำบางสิ่งเช่นตัวแปร
ดังนั้นไม่ว่าตัวแปรใดที่เราต้องการในกรณีของเรา สมมุติว่า error
ฉันกำลังจะบอกว่า เฮ้ ถ้าคุณตรวจพบข้อผิดพลาดในการพิมพ์ ให้เราใช้ข้อผิดพลาดในข้อความแสดงข้อผิดพลาดของเรา เพื่อที่ฉันจะได้พูดที่นี่
แถมแอร์.
ถ้าฉันวิ่งและทำสตริงที่นี่ ถ้าฉันวิ่ง
ดูนั่นสิ
ฉันได้รับข้อผิดพลาดที่พิมพ์
ขออนุญาติเปิดดูหน่อยนะครับ จะได้เห็นชัดๆ
ดูนั่นสิ
มันให้อากาศที่ฉันต้องการจริงๆ
เพื่อที่ผมจะได้ดูออนไลน์
ห้า.
ในบรรทัดนี้ ฉันได้รับข้อผิดพลาดประเภทที่ไม่สนับสนุนโอเปอเรเตอร์ และฉันได้รับข้อผิดพลาดเชิงพรรณนาเกี่ยวกับสิ่งที่เกิดขึ้น
ดังนั้นฉันอาจใช้มันในข้อความเอาต์พุตของฉัน
แต่ถ้าฉันไม่อยากใช้สิ่งนี้แล้ววิ่งล่ะ
ไม่เป็นไร.
ทุกอย่างทำงานอีกครั้ง
ถ้าฉันทำ.
พลัส.
ที่นี่และฉันคลิกเรียกใช้
และนี่เป็นเรื่องยากจริง ๆ แต่มันบอกไว้ที่นี่ระหว่างการจัดการข้อยกเว้นด้านบน ซึ่งฉันกำลังทำอยู่
เกิดข้อยกเว้นอีกประการหนึ่ง
โอ้เด็ก.
ฉันพยายามจัดการบางอย่างและพบข้อผิดพลาดภายในข้อผิดพลาดนั้น
ดังนั้นบางครั้งจึงเป็นเรื่องยาก
แต่ความหมายคือสิ่งที่เราได้รับจากที่นี่ แท้จริงแล้วเป็นวัตถุที่มีข้อผิดพลาด
มันเป็นข้อยกเว้นในตัวใน Python
คุณไม่สามารถเพิ่มในวิธีที่ฉันมี
เราต้องการใช้สตริง F แทน
ดังนั้นฉันจึงทำ f แล้วส่งข้อผิดพลาด
ดังนั้นตอนนี้
ถ้าฉันเรียกใช้สิ่งนี้
อีกครั้ง.
กรุณาใส่หมายเลข
ไม่รองรับตัวถูกดำเนินการประเภท s four plus int และ str
ดังนั้นฉันจึงได้รับข้อผิดพลาดนี้จริงๆ
ทีนี้ ถ้าจะพิมพ์ error นี้ มาดูกันว่าหน้าตาเป็นอย่างไร
ถ้าฉันคลิกเรียกใช้
คุณเห็นไหม นี่คือส่วนหนึ่งของอากาศที่เราได้รับ
ดังนั้นจึงมีประโยชน์มากหากคุณต้องการให้ข้อผิดพลาดที่มีความหมายกับผู้ใช้ของคุณ
สิ่งที่น่าสนใจอีกอย่างที่คุณสามารถทำได้คือบางสิ่งเช่นนี้ที่คุณรวมข้อผิดพลาดเหล่านี้ไว้ด้วยกัน
สมมุติว่าเรามีข้อผิดพลาดในการหารเป็นศูนย์เช่นกัน
และที่นี่เราจะพูดว่า อุ๊ปส์.
ตัวอย่างเช่น หากเราหารเลขหนึ่งด้วยเลขสอง ให้รันอันนี้ก่อน
ฉันได้รับอ๊ะถ้าฉันทำหนึ่งหารด้วยศูนย์และฉันเรียกใช้สิ่งนี้
ฉันยังได้รับห่วงเพื่อให้ฉันสามารถจัดการกับข้อผิดพลาดหลายอย่างในลักษณะเดียวกัน
ฉันยังพูดได้ว่าเป็นอากาศที่นี่และพิมพ์อากาศออกมาจริง ๆ และถ้าฉันเรียกใช้สิ่งนี้
ผมจะหารด้วยศูนย์หรือถ้าผมทำสตริง
และเรียกใช้สิ่งนี้
ฉันได้รับข้อผิดพลาดประเภทอื่น
ดังนั้นนี่จึงเป็นประโยชน์อย่างยิ่งในการรวมข้อผิดพลาดต่างๆ เข้าด้วยกัน หากคุณต้องการจัดการกับข้อผิดพลาดเหล่านั้นในลักษณะเดียวกัน
แต่ถ้าเราต้องการเพิ่มข้อผิดพลาดของเราเองจริง ๆ ล่ะ?
นั่นคือเราต้องการโยนข้อผิดพลาดของเราเองที่อาจอยู่ในบล็อกการยอมรับนี้
ฉันต้องการให้ข้อผิดพลาดแสดงสำหรับข้อผิดพลาดบางประเภท
เราจะทำอย่างนั้นได้อย่างไร?
มาดูกันในวิดีโอหน้า