การยกเว้นในโค้ดแบบอะซิงโครนัสใน JavaScript
การยกเว้นที่เกิดขึ้นภายใน
โค้ดแบบอะซิงโครนัส ไม่สามารถถูกจับได้
ผ่าน try-catch:
try {
setTimeout(function() {
throw(new Error); // การยกเว้นจะไม่ถูกจับ
}, 3000);
} catch(error) {
console.log(error);
}
อธิบายว่าโค้ดต่อไปนี้มีปัญหาอะไร:
try {
elem.addEventListener('click', function() {
JSON.parse('some string');
});
} catch() {
console.log('JSON ไม่ถูกต้อง');
}