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

อาร์กิวเมนต์ของข้อยกเว้น (Argument of an Exception) ใน Python

ข้อยกเว้นอาจมี อาร์กิวเมนต์ ซึ่งเป็นค่าที่ให้ข้อมูลเพิ่มเติมเกี่ยวกับปัญหา เนื้อหาของอาร์กิวเมนต์แตกต่างกันไปตามข้อยกเว้น คุณจับอาร์กิวเมนต์ของข้อยกเว้นได้โดยการระบุตัวแปรใน except clause ดังนี้:

try:
    You do your operations here;
    ......................
except ExceptionType, Argument:
    You can print value of Argument here...

หากคุณเขียนโค้ดจัดการข้อยกเว้นเดียว คุณสามารถให้ตัวแปรกำกับชื่อข้อยกเว้นใน except statement หากคุณจับข้อยกเว้นหลายๆ ตัว คุณสามารถให้ตัวแปรกำกับ tuple ของข้อยกเว้น

ตัวแปรกับนี้รับค่าของข้อยกเว้นส่วนใหญ่มีสาเหตุของข้อยกเว้น ตัวแปรกับสามารถรับค่าเดี่ยวหรือหลายค่าในรูปทูเพิล ทูเพิลนี้ปกติมี error string, error number, และ error location

ตัวอย่าง

ตัวอย่างต่อไปนี้สำหรับข้อยกเว้นเดียว:

#!/usr/bin/python
# กำหนดฟังก์ชันที่นี่
def temp_convert(var):
    try:
        return int(var)
    except ValueError, Argument:
        print "The argument does not contain numbers\n", Argument

# เรียกฟังก์ชันข้างต้นที่นี่
temp_convert("xyz");

ผลลัพธ์ (Output)

ผลลัพธ์ดังนี้:

The argument does not contain numbers
invalid literal for int() with base 10: 'xyz'