การดักจับข้อยกเว้นใน JavaScript
สำหรับการดักจับข้อยกเว้น ใช้โครงสร้าง
try-catch มันมี
ไวยากรณ์ดังนี้:
try {
// โค้ด
} catch (error) {
// การจัดการข้อผิดพลาด
}
ในบล็อก try ควรวางโค้ด
ที่อาจมีข้อยกเว้น หาก
ระหว่างการทำงานของโค้ดนี้เกิด
สถานการณ์ข้อยกเว้นขึ้น สคริปต์ของเราไม่
จะล่มด้วยข้อผิดพลาดในคอนโซล แต่จะเริ่มทำงาน
โค้ดบล็อก catch แทน
ในบล็อกนี้ เราควรตอบสนองต่อข้อผิดพลาด
อย่างเหมาะสม ตัวอย่างเช่น
หากเราต้องการส่งข้อมูลบางอย่าง
ผ่านอินเทอร์เน็ต และอินเทอร์เน็ตไม่ทำงาน ใน
บล็อก catch เราสามารถรับมือ
กับสถานการณ์ได้: ตัวอย่างเช่น สามารถแสดงข้อความ
ให้ผู้ใช้ หรือสามารถลองส่งข้อมูล
อีกครั้งหลังจากเวลาผ่านไปสักพัก - เผื่อว่า
อินเทอร์เน็ตกลับมาทำงานแล้ว
แต่หากระหว่างการทำงานของบล็อก try ไม่มี
สถานการณ์ข้อยกเว้นใดๆ เกิดขึ้น
โค้ดที่มีประโยชน์ก็จะทำงานเสร็จ ส่วน
โค้ดจากบล็อก catch จะไม่ทำงาน
สำหรับตัวอย่าง ลองมาลองแยกวิเคราะห์ JSON และหากมันไม่ถูกต้อง ให้แสดง ข้อความเกี่ยวกับเรื่องนี้บน หน้าจอ:
try {
let data = JSON.parse('{1,2,3,4,5}');
} catch (error) {
alert('ไม่สามารถดำเนินการแยกวิเคราะห์ JSON ได้');
}
ให้โค้ดที่บันทึกสตริงบางอย่าง ลงในที่เก็บข้อมูลภายในเครื่อง:
let str = 'สตริงบางอย่าง';
localStorage.setItem('key', str);
ให้ห่อหุ้มโค้ดนี้ด้วยโครงสร้าง try-catch
ในบล็อก catch ให้แสดงข้อความเกี่ยวกับ
ที่เก็บข้อมูลเต็ม ตรวจสอบการทำงาน
ของโค้ดของคุณสำหรับสตริงขนาดน้อยกว่า 5
เมกะไบต์ และสำหรับสตริงขนาดใหญ่กว่า
ให้ JSON ซึ่งภายในเก็บอาเรย์
หาก JSON นี้ถูกต้อง ให้แสดงองค์ประกอบ
ของอาเรย์ในรูปแบบลิสต์ ul แต่หาก
JSON ไม่ถูกต้อง ให้แสดงข้อความ
บนหน้าจอว่ามีข้อผิดพลาดเกิดขึ้นบนหน้า