연습장/삽질의 흔적
삽질을 하다 예외처리를 공부하다.
찬찬잉
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 안에 에러!가 발생함을 알 수 있었다.