프론트엔드/JavaScript

[JavaScript] try catch문

공기반 코딩반 2024. 2. 11. 21:30
반응형

 

 

에러가 발생하는 경우 출력(7번 행)

try {
  console.log('시작');
  
  const test = '테스트';
  console.log(test);
  
  test = 'fasd';
  
  const lang = 'JavaScript';
  console.log(lang);
} catch(err){
  console.log('에러');
  console.error(err);
  console.log(err.name);
  console.log(err.message);
}

 

 

 

 

 

 

 

에러가 발생하지 않을  때 출력

try {
  console.log('시작');
  
  const test = '테스트';
  console.log(test);
  
  // test = 'fasd';
  
  const lang = 'JavaScript';
  console.log(lang);
} catch(err){
  console.log('에러');
  console.error(err);
  console.log(err.name);
  console.log(err.message);
}

 

 

- console.error (에러메소드) 

 

 

 

 

 

 

 


 

try catch문 장점

- error가 발생해도 다음 코드를 실행할 수 있음 → 안정성

- SyntaxError는 다음코드를 실행할 수는 없음

 

 

function printMembers(members){
  try {
    for (const m of members){
      console.log(m);
    }
  } catch(err){
    console.error(err);
    alert(`${err.name}가 발생`)
  }
}

const teamA = ['A', 'B', 'C', 'D'];
printMembers(teamA);

// const test = {name : 'test'};
// printMembers(test);


const teamB = ['E', 'F', 'G', 'H'];
printMembers(teamB);

 

 

 

function printMembers(members){
  try {
    for (const m of members){
      console.log(m);
    }
  } catch(err){
    console.error(err);
    alert(`${err.name}가 발생`)
  }
}

const teamA = ['A', 'B', 'C', 'D'];
printMembers(teamA);

const test = {name : 'test'};
printMembers(test);


const teamB = ['E', 'F', 'G', 'H'];
printMembers(teamB);

 

 

- 16행 printMembers()에서 변수 할당 후 값출력 참조 에러 발생

 

 

- error이후에 코드도 실행할 수 있음

반응형

'프론트엔드 > JavaScript' 카테고리의 다른 글

[JavaScript] 에러 / 에러객체  (0) 2024.02.11