Przechwytywanie wyjątków w JavaScript

Do przechwytywania wyjątków używa się konstrukcji try-catch. Ma ona następującą składnię:

javascripttry {
  // kod
} catch (error) {
  // obsługa błędu
}

W bloku try należy umieszczać kod, który może zawierać wyjątek. Jeśli nagle podczas wykonywania tego kodu wystąpi sytuacja wyjątkowa, nasz skrypt nie zawali się z błędem w konsoli, a zacznie wykonywać się kod bloku catch.

W tym bloku powinniśmy w jakiś adekwatny sposób zareagować na błąd. Na przykład, jeśli chcieliśmy wysłać jakieś dane przez internet i internet nie działa, w bloku catch możemy jakoś poradzić sobie z sytuacją: można, na przykład, wyświetlić komunikat użytkownikowi, a można po pewnym czasie spróbować wysłać dane ponownie - nagle internet już działa.

Jeśli podczas wykonywania bloku try żadnych sytuacji wyjątkowych nie wystąpiło, to pożyteczny kod po prostu się wykona, a kod z bloku catch - nie.

Dla przykładu spróbujmy przeanalizować JSON i w przypadku jego nieprawidłowości wyświetlimy na ekranie komunikat o tym:

javascripttry {
  let data = JSON.parse('{1,2,3,4,5}');
} catch (error) {
  alert('nie można wykonać operacji analizy JSON');
}
Задание 1

Dany jest kod, który zapisuje pewien ciąg znaków w lokalnej pamięci:

javascriptlet str = 'jakiś ciąg znaków';
localStorage.setItem('key', str);

Zawiń ten kod w konstrukcję try-catch. W bloku catch wyświetl komunikat o przepełnieniu pamięci. Sprawdź działanie swojego kodu dla ciągu znaków o rozmiarze mniejszym niż 5 MB i dla ciągu znaków o większym rozmiarze.

Задание 2

Dany jest JSON, wewnątrz którego przechowywana jest tablica. Jeśli ten JSON jest poprawny, to wyświetl elementy tablicy w postaci listy ul. Jeśli jednak JSON jest niepoprawny, wyświetl na ekranie komunikat o tym, że na stronie wystąpił błąd.