Видови на ситуации што се јавуваат во 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. Уверете се дека во конзолата ќе има грешка.