JavaScript에서 예외 타입 사용하기

데이터 배열이 있는 JSON을 매개변수로 받아 해당 배열의 각 요소를 로컬 저장소에 저장하는 함수가 있다고 가정해 보겠습니다:

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

이 함수에서 예외 상황은 두 곳에서 발생할 수 있습니다: JSON을 구문 분석할 때와 로컬 저장소에 데이터를 저장하려고 할 때입니다.

예를 들어, 오류 처리를 위해 일부 문제 메시지를 표시하기로 결정했다고 가정해 보겠습니다:

javascripttry {
  saveData('{1,2,3,4,5}');
} catch (error) {
  alert('일부 문제가 발생했습니다');
}

우리의 메시지는 좋지만, 발생한 문제를 전혀 구분하지 않습니다. 어떤 문제가 발생했는지에 대한 메시지를 표시하는 것이 더 논리적일 것입니다.

이를 위해 발생한 오류를 이름으로 구분해 보겠습니다:

javascripttry {
  saveData('{1,2,3,4,5}');
} catch (error) {
  if (error.name == 'QuotaExceededError') {
    alert('저장 공간이 부족합니다');
  }
  
  if (error.name == 'SyntaxError') {
    alert('잘못된 JSON 형식입니다');
  }
}
Задание 1

제 함수 saveData의 코드를 복사한 다음, 제 코드를 보지 않고 제가 설명한 오류 처리를 구현하세요.

Задание 2

의도적으로 함수 saveData에서 발생할 수 있는 예외 상황을 순서대로 만들어 보세요.