⊗jsSpExcET 138 of 294 menu

ประเภทของสถานการณ์ที่เกิดขึ้นใน JavaScript

ใน JavaScript มีสถานการณ์ที่ทำให้เกิดข้อยกเว้นน้อยมาก ประการแรก เพียงเพราะว่ามีตำแหน่งให้เกิดข้อยกเว้นน้อยมาก

ประการที่สอง เพราะว่าตัวภาษานั้น "ให้อภัยทุกอย่าง": มองข้ามหลายสิ่งหลายอย่างไป เช่น การหารด้วยศูนย์หรือโค้ด HTML ที่ไม่ถูกต้อง แม้ว่าคุณจะระบุเส้นทางไปยังรูปภาพที่ต้องการโหลดผิดพลาด JavaScript ก็จะให้อภัยคุณในเรื่องนั้นและไม่นับว่าเป็นข้อยกเว้น

อย่างไรก็ตาม มีสถานการณ์พิเศษอยู่ เราจะวิเคราะห์สองสถานการณ์ที่ง่ายที่สุดและใช้เป็นตัวอย่างเพื่อศึกษาการทำงานกับข้อยกเว้นใน JavaScript

ข้อยกเว้นแรกเกิดขึ้นเมื่อเราต้องการแยกวิเคราะห์ JSON ที่ไม่ถูกต้อง:

let data = JSON.parse('{1,2,3,4,5}'); // JSON นี้ไม่ถูกต้อง

และข้อยกเว้นที่สองเกิดขึ้นเมื่อที่เก็บข้อมูลท้องถิ่นที่จัดสรรให้กับเว็บไซต์ของเรามีพื้นที่เต็ม (เกินกว่า 5 เมกะไบต์) ลองทำให้เกิดข้อยกเว้นดังกล่าวแบบตั้งใจกัน:

let str = ''; for (let i = 1; i <= 6 * 10 ** 6; i++) { // สร้างสตริงขนาดมากกว่า 5 MB str += '+'; } localStorage.setItem('key', str); // พยายามเขียนลงที่เก็บข้อมูล

JavaScript มีปฏิกิริยาอย่างไรต่อสถานการณ์พิเศษเช่นนี้? มันเพียงแสดงข้อผิดพลาดในคอนโซลและหยุดการดำเนินการสคริปต์ต่อไป

งานของเราในฐานะโปรแกรมเมอร์คือการตรวจจับสถานการณ์ดังกล่าวและจัดการกับมันในบางวิธี ไม่ปล่อยให้โปรแกรมหยุดการทำงานโดยสิ้นเชิง สำหรับการนี้มีโครงสร้างพิเศษ try-catch ซึ่งเราจะวิเคราะห์ในบทเรียนต่อไป

สร้างสตริงที่มีขนาดใหญ่พอและพยายามเขียนลงในที่เก็บข้อมูลท้องถิ่น ตรวจสอบให้แน่ใจว่าคอนโซลจะแสดงข้อผิดพลาด

พยายามแยกวิเคราะห์ JSON ที่ไม่ถูกต้อง ตรวจสอบให้แน่ใจว่าคอนโซลจะแสดงข้อผิดพลาด

ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ