MDN
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/try...catch
javascript.info
https://ko.javascript.info/try-catch
자바스크립트문 실행중 에러가 발생하면 그 즉시 중단된다.
이를 방지하기 위해 에러를 잡는(catch) 시도(try)를 할 수 있다.
try {
// 코드...
} catch (err) {
// 에러 핸들링
}
try { 안에 있는 코드가 먼저 작동한다. } 만일 에러가 없다면 catch는 건너뛴다.
만약 try { 안에 에러가 있다면 }, catch(err) { 안에 있는 에러 처리 코드 }가 작동된다.
try {
alert('try 블록 시작'); // (1) <--
// ...에러가 없습니다.
alert('try 블록 끝'); // (2) <--
} catch(err) {
alert('에러가 없으므로, catch는 무시됩니다.'); // (3)
}
try {
alert('try 블록 시작'); // (1) <--
lalala; // 에러, 변수가 정의되지 않음!
alert('try 블록 끝(절대 도달하지 않음)'); // (2)
} catch(err) {
alert(`에러가 발생했습니다!`); // (3) <--
}
try…catch 뒤에 finally를 추가할 수 있다.
에러 유무에 따라 try…catch 내용을 수행한 뒤 맨 마지막 단계에서는 finally 코드를 실행한다.
경로는 아래와 같다.
try {
... 코드를 실행 ...
} catch(e) {
... 에러 핸들링 ...
} finally {
... 항상 실행 ...
}