⊗jsSpExcET 138 of 294 menu

Rodzaje sytuacji wyjątkowych w JavaScript

W JavaScript jest bardzo mało sytuacji, w których powstają wyjątki. Po pierwsze, po prostu dlatego, że jest bardzo mało miejsc na ich powstanie.

Po drugie, ponieważ sam język jest "wybaczający": patrzy na wiele rzeczy przez palce, na przykład, na dzielenie przez zero lub na niepoprawny kod HTML. Nawet jeśli wskażesz nieprawidłową ścieżkę do obrazka, który zamierzasz załadować, JavaScript ci to wybaczy i nie uzna za wyjątek.

Jednakże sytuacje wyjątkowe istnieją. Przeanalizujemy dwie najprostsze i na ich przykładzie nauczymy się pracy z wyjątkami w JavaScript.

Pierwszy wyjątek powstaje, gdy chcemy przeanalizować nieprawidłowy JSON:

let data = JSON.parse('{1,2,3,4,5}'); // ten json jest nieprawidłowy

A drugi wyjątek powstaje, gdy lokalna pamięć przydzielona dla naszej strony przepełni się (więcej niż 5 megabajtów). Sztucznie wywołajmy taki wyjątek:

let str = ''; for (let i = 1; i <= 6 * 10 ** 6; i++) { // tworzymy ciąg znaków o wielkości ponad 5 MB str += '+'; } localStorage.setItem('key', str); // próbujemy zapisać do pamięci

Jak JavaScript reaguje na takie wyjątkowe sytuacje? Po prostu wyrzuca błąd do konsoli i przerywa dalsze wykonanie skryptu.

Naszym zadaniem, jako programistów, jest przechwycić taką sytuację i sobie z nią jakoś poradzić, nie pozwalając programie całkowicie przerwać swojego wykonania. Do tego istnieje specjalna konstrukcja try-catch, którą przeanalizujemy w kolejnych lekcjach.

Utwórz ciąg znaków odpowiednio dużego rozmiaru i spróbuj zapisać go do lokalnej pamięci. Upewnij się, że w konsoli pojawi się błąd.

Spróbuj przeanalizować nieprawidłowy JSON. Upewnij się, że w konsoli pojawi się błąd.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć