에러는 언제나 발생할 수 있고 발생한 에러에 대해 대처하지 않고 방치하면 프로그램은 강제 종료된다.
console.log('[Start]');
try {
foo();
} catch (error) {
console.error('[에러 발생]', error);
// [에러 발생] ReferenceError: foo is not defined
}
// 발생한 에러에 적절한 대응을 하면 프로그랭이 강제 종료되지 않는다.
console.log('[End]');
직접적으로 에러를 발생시키지 않는 예외적인 상황이 발생할 수도 있다.
따라서 코드를 작성할 때에는 언제나 에러나 예외적인 상황이 발생할 수 있다는 것을 전제하고 이에 대응하는 코드를 작성하는 것이 중요하다.
try...catch...finally 문
✅에러 처리 (error handling)
에러 처리 코드를 미리 등록해주도 에러가 발생하면 에러 처리 코드로 점프하도록 하는 방법
try {
// 실행할 코드(에러가 발생할 가능성이 있는 코드)
} catch (err) {
// try 코드 블록에서 에러가 발생하면 이 코드 블록의 코드가 실행된다.
// err에는 try 코드 블록에서 발생한 Error 객체가 전달된다.
} finally {
// 에러 발생과 상관없이 반드시 한 번 실행된다.
}
finally문은 불필요하다면 생략 가능하다.
catch문도 생략 가능하지만 catch문이 없는 try문은 의미가 없으므로 생략하지 않는다.
try...catch...finally문으로 에러를 처리하면 프로그램이 강제 종료되지 않는다.