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