Error Handling ใน JavaScript
1. Error คืออะไร
Error (ข้อผิดพลาด) คือสิ่งที่เกิดขึ้นเมื่อโปรแกรมทำงานผิดพลาดระหว่าง runtime เช่น
-
Syntax Error — เขียนโค้ดผิดไวยากรณ์
-
TypeError — ใช้งานชนิดข้อมูลผิด
-
ReferenceError — เรียกตัวแปรที่ไม่มีอยู่
-
RangeError — ค่าผิดขอบเขต
ตัวอย่าง:
ถ้าไม่จัดการ error เหล่านี้ โปรแกรมจะหยุดทำงานทันที
2. การใช้ try...catch
เป็นวิธีหลักในการจัดการ error
โครงสร้าง:
ตัวอย่าง:
แม้ในตัวอย่างนี้จะไม่มี error แต่ถ้ามี error เกิดขึ้นใน try
โปรแกรมจะกระโดดเข้า catch
ทันที
3. ส่วน finally
finally
จะทำงานทุกครั้งไม่ว่า error จะเกิดหรือไม่
4. การสร้าง Error เอง (Throw)
บางครั้งเราอยากสร้าง error เอง เพื่อควบคุม flow โปรแกรม
-
throw
ใช้สร้าง error -
new Error()
ใช้สร้าง object error ใหม่
5. Catch เฉพาะบาง error
ตั้งแต่ ES10 (ปี 2019) เราสามารถเขียน catch
แบบไม่ต้องมี parameter ได้
แต่ถ้าอยากรู้รายละเอียด error ก็ควรใส่ parameter ไว้เช่นเดิม
6. ใช้ Error Handling กับ Async/Await
เมื่อทำงานกับ promise และ async/await เราก็ใช้ try/catch ได้
แบบนี้จะปลอดภัยมากกว่าการใช้ .then().catch()
เยอะในหลายกรณี
7. ประเภทของ Error ที่มีใน JS
-
Error
(แม่ของทุก error) -
SyntaxError
-
TypeError
-
ReferenceError
-
RangeError
-
EvalError
-
URIError
ตัวอย่าง:
8. การใช้ Custom Error Class
ถ้าเขียนระบบใหญ่ๆ อาจต้องสร้าง error ของตัวเอง
สรุปสั้นๆ อีกที
-
try...catch
ช่วยให้โปรแกรมไม่หยุดทำงานเมื่อมี error -
finally
ทำงานเสมอ -
throw
ใช้สร้าง error เอง -
ใช้
try...catch
กับasync/await
เสมอ -
เขียน Custom Error ได้เมื่อระบบซับซ้อน
ป้ายกำกับ
บทความ
Facebook SDK
CSS Content ( แสดงทุกหน้าของบทความ )
COKKIE POPUP