การยกขว้างประเภทข้อผิดพลาดต่างๆ ใน JavaScript

ลองยกขว้างข้อผิดพลาดของเราเองและดูว่า วัตถุข้อผิดพลาดจะมีพฤติกรรมอย่างไรใน กรณีนี้:

javascripttry {
  throw new Error('ข้อความข้อยกเว้น');
} catch (error) {
  console.log(error.name); // 'Error'
  console.log(error.message); // 'ข้อความข้อยกเว้น'
}

ดังที่คุณเห็น ประเภทของข้อยกเว้นของเราคือ 'Error' ข้อยกเว้นใดๆ ที่ถูกยกขว้างออกมาในลักษณะนี้ ก็จะมีประเภทเดียวกัน อย่างไรก็ตาม สิ่งนี้อาจจะไม่ สะดวกเสมอไป เพราะหากเรามี ข้อยกเว้นหลายประเภท เราจะไม่สามารถแยกแยะ พวกมันออกจากกันได้

JavaScript มีวิธีแก้ไขปัญหานี้: สามารถยกขว้างข้อยกเว้นได้ไม่เพียงแต่ประเภท Error เท่านั้น แต่ยังรวมถึงประเภทข้อผิดพลาดใดๆ ที่มีอยู่ใน JavaScript ด้วย เช่น TypeError, SyntaxError, RangeError

ลองยกขว้างข้อยกเว้นประเภท SyntaxError เป็นตัวอย่าง:

javascripttry {
  throw new SyntaxError('ข้อความข้อยกเว้น');
} catch (error) {
  console.log(error.name); // 'SyntaxError'
  console.log(error.message); // 'ข้อความข้อยกเว้น'
}
Задание 1

ยกขว้างข้อยกเว้นด้วยประเภท TypeError

Задание 2

ยกขว้างข้อยกเว้นด้วยประเภท SyntaxError และ RangeError จับข้อยกเว้นเหล่านี้ ด้วยบล็อก try เดียวกัน ในบล็อก catch ให้แสดงข้อความข้อผิดพลาดที่แตกต่างกันสำหรับข้อยกเว้น ประเภทที่ต่างกัน