Exception handling
คือ การที่ compiler แจ้งในส่วนที่เราเขียนโค้ดผิด syntax ที่เราพบเห็นกัน มีดังนี้
- SyntaxError : invalid syntax
- IndexError: string index out of range
- NameError: name 'n' is not defined
คือ การที่ compiler แจ้งเราว่า code error ไม่สามารถทำงานต่อได้ มี Error defect ดังนี้
- ZeroDivisionError: division by zero
- NameError: name 'test2' is not defined
- TypeError: unsupported operand type(s) for -: 'str' and 'int'
การจัดการเมื่อโค้ดของเรามีปัญหา มี syntax การเขียน ดังนี้
try:
// Protected code
except:
// Catch block
else:
// The finally block always executes.
การทำงาน ทำในส่วนของ try ก่อน ถ้าทำงานในส่วนนี้สำเร็จ ก็คือจบ ถ้าไม่สำเร็ จ จะไปในส่วนของ except ต่อ
ถ้าเปรียบเทียบกับ JAVA เหมือน throw
raise ValueError('A very specific bad thing happened')
ตัวอย่างการใช้งาน เช่น การหารด้วยศูนย์
try:
result = input1 / input2
except ZeroDivisionError:
print (“cannot divide by 0”)