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

คีย์เวิร์ด assert ใน Python: การจัดการข้อผิดพลาดแบบกำหนดเอง

ทุกภาษาโปรแกรมมิ่งมีกลไกจัดการข้อยกเว้น (exception) ที่เกิดขึ้นระหว่างการรันโปรแกรม ใน Python คีย์เวิร์ด assert ใช้เพื่อตรวจสอบเงื่อนไขและแสดงข้อความแสดงข้อผิดพลาดที่ผู้เขียนโปรแกรมกำหนดเอง แทนที่จะเป็นข้อความข้อผิดพลาดจากระบบ ทำให้ง่ายต่อการค้นหาและแก้ไขข้อผิดพลาดเมื่อเกิดขึ้น

การใช้งาน assert

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

ตัวอย่าง

x = 4
y = 0
assert y != 0, "หากคุณหารด้วย 0 จะเกิดข้อผิดพลาด"
print("ค่าที่กำหนดคือ ", "x:", x, "y:", y)
print("\nการคูณของ x และ y คือ", x * y)
print("\nการหารของ x และ y คือ", x / y)

การรันโค้ดข้างต้นจะให้ผลลัพธ์ดังนี้:

Traceback (most recent call last):
  File "scratch.py", line 3, in
    assert y != 0, "if you divide by 0 it gives error"
AssertionError: if you divide by 0 it gives error

การไม่ใช้ assert

โดยไม่มีคำสั่ง assert เราจะได้ข้อผิดพลาดที่ระบบสร้างขึ้น ซึ่งอาจต้องใช้การตรวจสอบเพิ่มเติมเพื่อเข้าใจและค้นหาต้นทางของข้อผิดพลาด

ตัวอย่าง

x = 4
y = 0
# assert y != 0, "if you divide by 0 it gives error"
print("ค่าที่กำหนดคือ ", "x:", x, "y:", y)
print("\nการคูณของ x และ y คือ", x * y)
print("\nการหารของ x และ y คือ", x / y)

การรันโค้ดข้างต้นจะให้ผลลัพธ์ดังนี้:

multiplication of x and y is 0
Traceback (most recent call last):
  File "scratch.py", line 6, in 
    print("\ndivision of x and y is", x / y)
ZeroDivisionError: division by zero

สรุป: การใช้ assert ช่วยให้การดีบัก (debug) ง่ายขึ้น เพราะข้อความแสดงข้อผิดพลาดจะชัดเจนและเกี่ยวข้องกับตรรกะทางธุรกิจโดยตรง