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