JavaScript-dä Ýalňyşlyk Görnüşlerini Ulanyş

Bizde JSON formatynda maglumatlar massiwini parametr hökmünde kabul edýän we bu massiwdäki her element ýerli hapja ýazýan funksiýa bolsun:

javascriptfunction saveData(json) {
  let arr = JSON.parse(json);
  
  for (let i = 0; i < arr.length; i++) {
    localStorage.setItem(i, arr[i]);
  }
}

Bu funksiýada iki ýerde ýalňyş ýagdaýy ýüze çykyp bilýär: JSON düzmekde we maglumatlary ýerli hapja ýazmaga synanyşmakda.

Mysal üçin, ýalňyşlyklary işlemek üçin belli bir problem habaryny çykarmaga karar berdiňiz diýeliň:

javascripttry {
  saveData('{1,2,3,4,5}');
} catch (error) {
  alert('käbir problemalar');
}

Bizim habarymyz gowy, ýöne ol ýüze çykan problemalary tapawutlandyrmaýar. Hakyky problemanyň nämedigini görkezýän habar çykarmak has amatly bolar.

Bun üçin ýüze çykan ýalňyşlyklary atlary boýunça tapawutlandyrýarys:

javascripttry {
  saveData('{1,2,3,4,5}');
} catch (error) {
  if (error.name == 'QuotaExceededError') {
    alert('hapda ýer gutardy');
  }
  
  if (error.name == 'SyntaxError') {
    alert('nädogry JSON');
  }
}
Задание 1

Menin saveData funksiýamynyň kodyny göçürip alý, soňra menin kodyma seretmezden beýan edilen ýalňyşlyklary işlemegi amala aşyrý.

Задание 2

Ýörite saveData funksiýasýnda ýüze çykyp bilýän ýalňyş ýagdaýlary biri-birinden dörediň.