⊗pyPmExcFu 82 of 129 menu

ฟังก์ชันกับข้อยกเว้นใน Python

การโยน (throw) ข้อยกเว้นทำได้สะดวกมาก โดยเขียนเงื่อนไขไว้ในฟังก์ชัน

มาสร้างฟังก์ชัน get_sum กัน ซึ่งจะคืนค่าผลรวมขององค์ประกอบในลิสต์ ก็ต่อเมื่อความยาวของลิสต์น้อยกว่า หรือเท่ากับ 3 เท่านั้น มิฉะนั้น ให้โยนข้อยกเว้นของเรา ToBigLength ออกมา:

def get_sum(lst): if len(lst) <= 3: return sum(lst) else: raise ToBigLength

ทีนี้เรามาส่งลิสต์เข้าไปในฟังก์ชัน get_sum และพิมพ์ผลลัพธ์ออกมาที่คอนโซล:

lst = [1, 2, 3, 4] print(get_sum(lst)) # จะได้ 6

นอกจากนี้ในฟังก์ชันยังสามารถกำหนดการดักจับ ข้อยกเว้นหลายประเภทได้ มาสร้างคลาสข้อยกเว้นอีกคลาสหนึ่ง ชื่อ ToSmallLength กัน:

class ToSmallLength(Exception): pass

ทีนี้เรามากำหนดเงื่อนไขในฟังก์ชันว่า หากความยาวของลิสต์เท่ากับศูนย์ ให้โยน ToSmallLength ออกมา แต่หาก ไม่มีข้อยกเว้นใดถูกดักจับเลย ให้คืนค่าผลรวมขององค์ประกอบทั้งหมดในลิสต์:

def get_sum(lst): if len(lst) > 3: raise ToBigLength if len(lst) == 0: raise ToSmallLength else: return sum(lst)

เพื่อความสะดวก เราสามารถใส่ลิสต์ที่จะ ถูกส่งเข้ามาเป็นพารามิเตอร์ของฟังก์ชัน, ตัวฟังก์ชันเอง และการเรียกใช้ฟังก์ชัน ไว้ในบล็อก try และวางการดักจับข้อยกเว้นทั้งสองของเรา ไว้ในบล็อก except:

try: lst = [1, 2, 3] res = get_sum(lst) print(res) except ToBigLength: print('error 1') except ToSmallLength: print('error 2')

สร้างฟังก์ชันที่รับพารามิเตอร์เป็นตัวเลข เขียนเงื่อนไขในฟังก์ชันว่า หากตัวเลขเป็นลบและเท่ากับศูนย์ ให้โยนข้อยกเว้นที่เกี่ยวข้องออกมาตามลำดับ มิฉะนั้นให้คูณตัวเลขนั้นด้วย 3

ทดสอบการทำงานของฟังก์ชันที่คุณสร้างด้วย โครงสร้าง try-except พร้อมกันนี้ ให้ดักจับข้อยกเว้นของคุณด้วย

ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ