연습장/삽질의 흔적

삽질을 하다 예외처리를 공부하다.

찬찬잉 2022. 11. 3. 10:57

 

 

예외처리란?

 

Javascript에는 코드 실행 중에 예기치 못한 에러가 발생했을 때, 이로부터 코드의 실행 흐름을 복구할 수 있는 기능이 내장되어 있다, 이런 기능을 일러 예외 처리 (exception handling)라고 한다. 

 

해당코드를 보면 Uncaught 를 잡지 못한다. 에러가 있지만 잡지 못했다는 뜻...

그럼 이때 예외처리를 꼭 해줘야한다. 이유는 이때 발생한 에러에 대해 어떤 처리를 해주어야지 프로그램이 정지하지 않고 다음 코드로 넘어갈 수 있기 때문이다.

 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/try...catch

 

try...catch - JavaScript | MDN

try...catch 문은 실행할 코드블럭을 표시하고 예외(exception)가 발생(throw)할 경우의 응답을 지정합니다.

developer.mozilla.org

가장 일반적인 예외처리라고 불리는 try와 catch

 

try {
  try_statements
}
[catch (exception_var) {
  catch_statements
}]
[finally {
  finally_statements
}]
try {
  console.log('에러가 나기 직전까지의 코드는 잘 실행됩니다.');
  new Array(-1); // RangeError: Invalid array length
  console.log('에러가 난 이후의 코드는 실행되지 않습니다.');
} catch (e) {
  console.log('코드의 실행 흐름이 catch 블록으로 옮겨집니다.');
  alert(`다음과 같은 에러가 발생했습니다: ${e.name}: ${e.message}`);
}
try {
  setTimeout(() => {
    throw new Error('에러!');
  });
} catch (e) {
  console.error(e);
}

try 실행될 선언들 : try_statements

catch 예외가 발생하면 나타날 선언들 : catch_statements

finally try 선언이 완료된 이후에 실행된 선언들. 이 선언들은 예외 발생 여부와 상관없이 실행된다 : finally_statements 

 

에러가 발생할 경우 Error 안에 에러!가 발생함을 알 수 있었다.