სხვადასხვა ტიპის ექსცეფშენების გასროლა JavaScript-ში
მოდით გავისროლოთ ჩვენი საკუთარი ექსცეფშენი და ვნახოთ, როგორ იქცევა ობიექტი შეცდომასთან ამ შემთხვევაში:
try {
throw new Error('ექსცეფშენის ტექსტი');
} catch (error) {
console.log(error.name); // 'Error'
console.log(error.message); // 'ექსცეფშენის ტექსტი'
}
როგორც ხედავთ, ჩვენი ექსცეფშენის ტიპია 'Error'.
ანალოგიური ტიპი ექნება ნებისმიერ ექსცეფშენს, რომელიც ამგვარად
არის გასროლილი. ეს, თუმცა, ყოველთვის
არ იქნება მოსახერხებელი, რადგან თუ ჩვენ გვაქვს
რამდენიმე ექსცეფშენი, ჩვენ ვერ განვასხვავებთ
მათ ერთმანეთისგან.
JavaScript-ში გათვალისწინებულია ამ პრობლემის გადაწყვეტა:
შესაძლებელია გავისროლოთ ექსცეფშენები არა მხოლოდ
Error ტიპის, არამედ JavaScript-ში ჩაშენებული
ნებისმიერი ტიპის შეცდომის, მაგალითად, TypeError,
SyntaxError, RangeError.
მაგალითისთვის მოდით გავისროლოთ
SyntaxError ტიპის ექსცეფშენი:
try {
throw new SyntaxError('ექსცეფშენის ტექსტი');
} catch (error) {
console.log(error.name); // 'SyntaxError'
console.log(error.message); // 'ექსცეფშენის ტექსტი'
}
გაისროლეთ ექსცეფშენი TypeError ტიპით.
გაისროლეთ ექსცეფშენი SyntaxError
და RangeError ტიპებით. დაჭირეთ ეს ექსცეფშენები
ერთი try ბლოკის გამოყენებით. catch ბლოკში
გამოიტანეთ სხვადასხვა შეტყობინება შეცდომის შესახებ სხვადასხვა ტიპის ექსცეფშენებისთვის.