12 Exception handling

syntax error คือ การที่ compiler แจ้งในส่วนที่เราเขียนโค้ดผิด syntax ที่เราพบเห็นกัน มีดังนี้

  • SyntaxError : invalid syntax
  • IndexError: string index out of range
  • NameError: name 'n' is not defined

  • exception คือ การที่ compiler แจ้งเราว่า code error ไม่สามารถทำงานต่อได้ มี Error defect ดังนี้

  • ZeroDivisionError: division by zero
  • NameError: name 'test2' is not defined
  • TypeError: unsupported operand type(s) for -: 'str' and 'int'

  • handling exception การจัดการเมื่อโค้ดของเรามีปัญหา มี syntax การเขียน ดังนี้

    try:

       # Protected code

    except:

       # Catch block

    else:

       # The finally block always executes.

    การทำงาน ทำในส่วนของ try ก่อน ถ้าทำงานในส่วนนี้สำเร็จ ก็คือจบ ถ้าไม่สำเร็จ จะไปในส่วนของ except ต่อ:

    raising Exceptions ถ้าเปรียบเทียบกับ JAVA เหมือน throw

    ValueError('A very specific bad thing happened')

    ตัวอย่างการใช้งาน เช่น การหารด้วยศูนย์

    try:

       result = input1 / input2

    except ZeroDivisionError:

       print (“cannot divide by 0”)

    navigate_before forward