გამონაკლისების დაჭერა JavaScript-ში

გამონაკლისების დაჭერისთვის გამოიყენება კონსტრუქცია try-catch. მას აქვს შემდეგი სინტაქსი:

javascripttry {
  // კოდი
} catch (error) {
  // შეცდომის დამუშავება
}

ბლოკში try უნდა განთავსდეს კოდი, რომელსაც შეიძლება ჰქონდეს გამონაკლისი. თუ ამ კოდის შესრულებისას წარმოიქმნება გამონაკლისი, ჩვენი სკრიპტი არ ჩაიქრება შეცდომით კონსოლში, არამედ დაიწყებს ბლოკ catch-ის კოდის შესრულებას.

ამ ბლოკში ჩვენ უნდა ვიმოქმედოთ შეცდომაზე ადეკვატურად. მაგალითად, თუ ჩვენ გვინდოდა გაგვეგზავნა რაიმე მონაცემი ინტერნეტით და ინტერნეტი არ მუშაობს, ბლოკ catch-ში ჩვენ შეგვიძლია როგორმე გავერკვიოთ სიტუაციაში: შეგვიძლია, მაგალითად, გამოვიტანოთ შეტყობინება მომხმარებელს, ან შეგვიძლია რაღაც დროის შემდეგ კიდევ სცადოთ მონაცემების გაგზავნა - იქნებ ინტერნეტი უკვე იმუშავებს.

თუ ბლოკ try-ის შესრულებისას რაიმე გამონაკლისი არ მოხდა, მაშინ სასარგებლო კოდი უბრალოდ შესრულდება, ხოლო კოდი ბლოკ catch-დან - არა.

მაგალითისთვის მოდით ვცადოთ JSON-ის პარსინგი და მისი არაკორექტულობის შემთხვევაში გამოვიტანოთ ეკრანზე ამის შესახებ შეტყობინება:

javascripttry {
  let data = JSON.parse('{1,2,3,4,5}');
} catch (error) {
  alert('JSON-ის პარსინგის შესრულება შეუძლებელია');
}
Задание 1

მოცემულია კოდი, რომელიც ინახავს რაღაც სტრიქონს ლოკალურ საცავში:

javascriptlet str = 'რაღაც სტრიქონი';
localStorage.setItem('key', str);

ჩაათავსეთ ეს კოდი კონსტრუქციაში try-catch. ბლოკ catch-ში გამოიტანეთ შეტყობინება საცავის გადავსების შესახებ. შეამოწმეთ თქვენი კოდის მუშაობა სტრიქონისთვის ზომით 5 მბ-ზე ნაკლები და უფრო დიდი ზომის სტრიქონისთვის.

Задание 2

მოცემულია JSON, რომლის შიგნით ინახება მასივი. თუ ეს JSON კორექტულია, მაშინ გამოიტანეთ მასივის ელემენტები ul სიის სახით. ხოლო თუ JSON არაკორექტულია, გამოიტანეთ ეკრანზე შეტყობინება იმის შესახებ, რომ გვერდზე მოხდა შეცდომა.