javascript Как перехватывать ошибки с помощью try catch
Допустим у нас есть код который может вызвать ошибку переполнения памяти в локальном хранилище браузера:
localStorage.setItem("fuse","-");
while(true) {
var fuse = localStorage.getItem("fuse");
localStorage.setItem("fuse" , fuse + fuse);
}
Если не перехватить ошибку, то инструмент разработчика может подвиснуть и все будет тормозить.
Применим try catch чтобы не вызвать переполнение памяти и показать ошибку и остановить js скрипт
localStorage.setItem("fuse","-");
while(true) {
var fuse = localStorage.getItem("fuse");
// вызываем отлавливатель ошибок который будет смотреть за тем, могут ли записаться новые данные
try {
localStorage.setItem("fuse" , fuse + fuse);
} catch(e){
// если новые данные вызывают ошибку в браузере, то скрипт остановим
alert("Your browser blew up at" + fuse.length);
break;
}
}
// это дли отчистки ls
//localStorage.removeItem("fuse");
Оставить свой ответ: