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

ฉันจะโยน / เพิ่มข้อยกเว้นใน Python ด้วยตนเองได้อย่างไร


เราใช้ตัวสร้างข้อยกเว้นที่เจาะจงที่สุดที่เหมาะกับปัญหาเฉพาะของเรามากกว่าที่จะยกข้อยกเว้นทั่วไป เพื่อตรวจจับข้อยกเว้นเฉพาะของเรา เราจะต้องตรวจจับข้อยกเว้นเฉพาะอื่นๆ ทั้งหมดที่จัดคลาสย่อยนั้น

เราควรยกข้อยกเว้นเฉพาะและจัดการกับข้อยกเว้นเฉพาะเดียวกัน

ในการยกข้อยกเว้นเฉพาะ เราใช้คำสั่งการยกดังต่อไปนี้

ตัวอย่าง

import sys
try:
f = float('Tutorialspoint')
print f
raise ValueError
except Exception as err:
print sys.exc_info()

ผลลัพธ์

เราได้ผลลัพธ์ดังต่อไปนี้

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

เราสามารถทำให้เกิดข้อผิดพลาดได้แม้ว่าจะมีอาร์กิวเมนต์ดังตัวอย่างต่อไปนี้

ตัวอย่าง

try:
raise ValueError('foo', 23)
except ValueError, e:
print e.args

ผลลัพธ์

เราได้ผลลัพธ์ดังต่อไปนี้

('foo', 23)