Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

คุณจะอธิบายได้อย่างไรว่าข้อยกเว้นเป็นวัตถุใน Python


ใช่ในรหัสที่กำหนด 'err' เป็นวัตถุข้อยกเว้น

ใน python ทุกอย่างเป็นวัตถุ และทุกอ็อบเจ็กต์มีคุณสมบัติและเมธอด ดังนั้นข้อยกเว้น เช่น รายการ ฟังก์ชัน ทูเพิล ฯลฯ ก็เป็นอ็อบเจกต์เช่นกัน ดังนั้นข้อยกเว้นก็มีคุณลักษณะเช่นเดียวกับวัตถุอื่นๆ แอตทริบิวต์เหล่านี้สามารถตั้งค่าและเข้าถึงได้ดังนี้ มีข้อยกเว้นคลาสฐานซึ่งข้อยกเว้นอื่น ๆ เกือบทั้งหมดเป็นคลาสย่อย หาก e เป็นอ็อบเจ็กต์ข้อยกเว้น ดังนั้น e.args และ e.message จะเป็นแอตทริบิวต์ของวัตถุนั้น

ในการใช้งาน Python ในปัจจุบัน ข้อยกเว้นประกอบด้วยสามส่วน ได้แก่ ประเภท ค่า และการติดตามกลับ โมดูล sys อธิบายอ็อบเจ็กต์ข้อยกเว้นปัจจุบันในตัวแปรสามตัว ได้แก่ exc_type, exc_value และ exc_traceback

ฟังก์ชัน sys.exc_info() จะคืนค่าทูเพิลของแอตทริบิวต์ทั้งสามนี้ และคำสั่งยกมีรูปแบบอาร์กิวเมนต์สามแบบที่ยอมรับทั้งสามส่วนนี้

รหัสที่กำหนดให้ผลลัพธ์ต่อไปนี้

(<type 'exceptions.ValueError'>, ValueError('could not convert
string to int: Godzilla!',), <traceback object at 0x0000000002E33748>)