სხვადასხვა ტიპის ექსცეფშენების გასროლა 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 ბლოკში გამოიტანეთ სხვადასხვა შეტყობინება შეცდომის შესახებ სხვადასხვა ტიპის ექსცეფშენებისთვის.