2
ข้อยกเว้นสำหรับการควบคุมการไหลที่ดีที่สุดใน Python หรือไม่?
ฉันกำลังอ่าน "Learning Python" และเจอสิ่งต่อไปนี้: ข้อยกเว้นที่ผู้ใช้กำหนดยังสามารถส่งสัญญาณเงื่อนไขที่ไม่ใช่ผู้ใช้ ตัวอย่างเช่นรูทีนการค้นหาสามารถเขียนโค้ดเพื่อเพิ่มข้อยกเว้นเมื่อพบการจับคู่แทนที่จะส่งกลับค่าสถานะสถานะเพื่อให้ผู้โทรตีความ ในต่อไปนี้ตัวจัดการข้อยกเว้นลอง / ยกเว้น / อื่นทำงานของตัวทดสอบ if / else return-value: class Found(Exception): pass def searcher(): if ...success...: raise Found() # Raise exceptions instead of returning flags else: return เนื่องจาก Python นั้นถูกพิมพ์แบบไดนามิกและ polymorphic ไปที่แกนกลาง, ข้อยกเว้น, แทนที่จะเป็น Sentinel return values นั้นเป็นวิธีที่นิยมใช้ในการส่งสัญญาณเงื่อนไขดังกล่าว ฉันได้เห็นสิ่งต่าง ๆ ที่กล่าวถึงหลายครั้งในฟอรัมต่าง ๆ และการอ้างอิงถึง Python …