본문 바로가기

JavaScript/Modern JavaScript

[JavaScript] try catch 활용하기

다음과 같은 코드를 실행시키면,

function printMembers(members) {
  for(const member of members) {
    console.log(member);
  }
}

const teamA = ['짱구','훈이','유리'];
printMembers(teamA);

const random = { name: '철수' }; // for of 문에 객체를 사용할 수 없으므로 여기서 에러 발생
printMembers(random);

const teamB = ['맹구', '짱아'];
printMembers(teamB);

for of 문에 객체를 할당할 수 없으므로 에러가 발생한다.

 

프로그램이 그대로 멈춰, 뒤에 있던 배열인 맹구, 짱아는 출력되지 않는다.

 

그러나 try catch 문으로 코드를 작성하면, 

function printMembers(members) {
  try {
    for(const member of members) {
      console.log(member);
    }
  } catch (e) {
    console.error(e);
    alert(`${e.name}가 발생하였습니다. 콘솔창을 확인해주세요.`)
  }
}

const teamA = ['짱구','훈이','유리'];
printMembers(teamA);

const random = { name: '철수' };
printMembers(random);

const teamB = ['맹구', '짱아'];
printMembers(teamB);

에러에 대한 정보를 담은 에러객체가 나타나고, 마지막에 있던 배열도 정상적으로 출력된다. 

 

try catch 문은 실행이 가능한 코드 내에서의 에러를 다룬다. (예외 처리라고 함)

SyntaxError 의 코드는 실행하지 못함.

 

'JavaScript > Modern JavaScript' 카테고리의 다른 글

[JavaScript] 배열 메소드 filter와 find  (1) 2023.05.19
[JavaScript] finally 문  (0) 2023.05.19
[JavaScript] try catch 문  (0) 2023.05.19
[JavaScript] 에러와 에러 객체  (0) 2023.05.19
[JavaScript] null 병합 연산자  (0) 2023.05.18