มีข้อผิดพลาดสามประเภทในการเขียนโปรแกรม:(a) ข้อผิดพลาดทางไวยากรณ์ (b) ข้อผิดพลาดรันไทม์ และ (c) ข้อผิดพลาดทางตรรกะ ข้อผิดพลาดรันไทม์ หรือเรียกอีกอย่างว่า ข้อยกเว้น เกิดขึ้นระหว่างการดำเนินการ (หลังจากรวบรวม/ตีความ) ตัวอย่างเช่น บรรทัดต่อไปนี้ทำให้เกิดข้อผิดพลาดรันไทม์เนื่องจากไวยากรณ์ถูกต้อง แต่ในขณะใช้งาน พยายามเรียกใช้เมธอดที่ไม่มีอยู่
<script> <!-- window.printme(); //--> </script>
ข้อยกเว้นยังส่งผลต่อเธรดที่เกิดขึ้น ทำให้เธรด JavaScript อื่นๆ ดำเนินการตามปกติต่อไปได้