มีข้อยกเว้นทั่วไปบางประการในหลาม ข้อยกเว้นเหล่านี้มักจะเกิดขึ้นในโปรแกรมต่างๆ สิ่งเหล่านี้อาจเพิ่มขึ้นโดยโปรแกรมเมอร์อย่างชัดเจนหรือล่าม python สามารถยกข้อยกเว้นประเภทนี้โดยปริยาย ข้อยกเว้นบางประการ ได้แก่ −
ข้อผิดพลาดในการยืนยันข้อยกเว้น
AssertionError อาจเพิ่มขึ้นเมื่อคำสั่งยืนยันล้มเหลว ใน python มีบางส่วน เราสามารถตั้งค่าคำสั่ง assert ในโค้ดของเราได้ คำสั่งยืนยันจะต้องเป็นจริงเสมอ หากเงื่อนไขล้มเหลว มันจะเพิ่ม AssertionError
โค้ดตัวอย่าง
คลาส MyClass:def __init__(self, x):self.x =x assert self.x> 50 myObj =MyClass(5)
ผลลัพธ์
<ก่อนหน้า>------------------------------------------------------------- ---------------------------- AssertionError Traceback (การโทรล่าสุดล่าสุด)ข้อผิดพลาดแอตทริบิวต์ข้อยกเว้น
ข้อผิดพลาดของแอตทริบิวต์อาจเกิดขึ้นเมื่อเราพยายามเข้าถึงแอตทริบิวต์บางอย่างของคลาส แต่ไม่มีอยู่ในนั้น
โค้ดตัวอย่าง
คลาสพอยต์:def __init__(self, x=0, y=0):self.x =x self.y =y def getpoint(self):print('x=' + str(self.x)) print('y=' + str(self.y)) print('z=' + str(self.z))pt =point(10, 20)pt.getpoint()
ผลลัพธ์
<ก่อนหน้า>x=10y=20----------------------------- --------------------------------- AttributeError Traceback (การโทรล่าสุดล่าสุด)ข้อผิดพลาดในการนำเข้าข้อยกเว้น
ImportError อาจเกิดขึ้นเมื่อ นำเข้า คำสั่งกำลังประสบปัญหาในการนำเข้าโมดูลบางส่วน นอกจากนี้ยังสามารถยกขึ้นได้เมื่อชื่อแพ็คเกจเป็นคำสั่ง from ถูกต้อง แต่ไม่มีโมดูลใดเป็นชื่อที่ระบุ
โค้ดตัวอย่าง
จากการนำเข้าคณิตศาสตร์ abcd def __init__(self, x=0, y=0):
ผลลัพธ์
<ก่อนหน้า>------------------------------------------------------------- ----------------------------ImportError Traceback (การโทรล่าสุดล่าสุด)โมดูลข้อยกเว้นNotFoundError
เป็นคลาสย่อยของ ImportError เมื่อไม่พบโมดูล ข้อผิดพลาดนี้อาจเพิ่มขึ้น นอกจากนี้ยังสามารถยกเมื่อ ไม่มี พบได้ใน sys.modules
โค้ดตัวอย่าง
นำเข้า abcd
ผลลัพธ์
<ก่อนหน้า>------------------------------------------------------------- ---------------------------- โมดูล NotFoundError Traceback (การโทรล่าสุดล่าสุด)ข้อผิดพลาดดัชนีข้อยกเว้น
ข้อผิดพลาดของดัชนีอาจเพิ่มขึ้นเมื่อตัวห้อยของลำดับ (List, Tuple, Set ฯลฯ) อยู่นอกช่วง
โค้ดตัวอย่าง
myList =[10, 20, 30, 40]print(str(myList[5]))
ผลลัพธ์
<ก่อนหน้า>------------------------------------------------------------- ----------------------------IndexError Traceback (การโทรล่าสุดล่าสุด)ข้อผิดพลาดการเรียกซ้ำของข้อยกเว้น
RecursionError เป็นข้อผิดพลาดรันไทม์ เมื่อเกินความลึกของการเรียกซ้ำสูงสุดแล้วจะเพิ่มขึ้น
โค้ดตัวอย่าง
def myFunction():myFunction()myFunction()
ผลลัพธ์
<ก่อนหน้า>------------------------------------------------------------- ---------------------------- RecursionError Traceback (การโทรล่าสุดล่าสุด)ข้อยกเว้น StopIteration
ใน python เราสามารถรับข้อผิดพลาด StopIteration โดยวิธีการ inbuilt ที่เรียกว่า next() เมื่อตัววนซ้ำหนึ่งไม่มีองค์ประกอบเพิ่มเติม เมธอด next() จะทำให้เกิดข้อผิดพลาด StopIteration
โค้ดตัวอย่าง
myList =[10, 20, 30, 40]myIter =iter(myList) ในขณะที่ True:print(next(myIter))
ผลลัพธ์
<ก่อน>10203040--------------------------------------------- ------------------------------------ StopIteration Traceback (การโทรล่าสุดล่าสุด)ข้อผิดพลาดในการเยื้องข้อยกเว้น
เมื่อมีการย่อหน้าที่ไม่ถูกต้องในรหัสหลาม มันจะทำให้เกิดข้อผิดพลาดประเภทนี้ มันรับช่วง SyntaxError คลาสของไพธอน
โค้ดตัวอย่าง
for i in range(10):print("The value of i:" + str(i))
ผลลัพธ์
ไฟล์ "" พิมพ์บรรทัดที่ 2 ("ค่าของ i:" + str(i)) ^IndentationError:คาดว่าจะมีการเยื้องบล็อก
ข้อผิดพลาด TypeError
TypeError อาจเกิดขึ้นเมื่อมีการดำเนินการกับวัตถุประเภทที่ไม่เหมาะสม ตัวอย่างเช่น หากเราระบุเลขทศนิยมในดัชนีอาร์เรย์ ก็จะส่งคืน TypeError
โค้ดตัวอย่าง
muList =[10, 20, 30, 40]print(myList[1.25])
ผลลัพธ์
<ก่อนหน้า>------------------------------------------------------------- ---------------------------- TypeError Traceback (การโทรล่าสุดล่าสุด)ข้อยกเว้น ZeroDivisionError
เมื่อมีสถานการณ์ที่ตัวส่วนเป็น 0 (ศูนย์) สำหรับปัญหาการหาร จะทำให้เกิด ZeroDivisionError
โค้ดตัวอย่าง
พิมพ์(5/0)