⊗jsSpExcET 138 of 294 menu

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

Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј