⊗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. Пераканайцеся ў тым, што ў кансолі будзе памылка.

kaitsvtrfr