Przechwytywanie wyjątków w JavaScript
Do przechwytywania wyjątków używa się
konstrukcji try-catch. Ma ona
następującą składnię:
try {
// 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:
try {
let data = JSON.parse('{1,2,3,4,5}');
} catch (error) {
alert('nie można wykonać operacji analizy JSON');
}
Dany jest kod, który zapisuje pewien ciąg znaków w lokalnej pamięci:
let 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.
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.