⊗jsSpExcCt 139 of 294 menu

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

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

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

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

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

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

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

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

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

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

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

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