Error 발생
- 자바스크립트 런타임 도중 에러가 발생할 경우 실행이 중지된다.
- 따라서 에러를 받아주기 위해 try - catch 로 예외처리를 한다.
- 스택의 아래방향으로 계속해서 에러를 전파한다.
- 단 문법적인 에러는 try catch 로 처리할수 없다.
new Error("에러");
// 에러를 발생시킨것이 아닌 에러객체를 생성했기 때문에 런타임이 중지되지 않는다.
throw new Error("에러");
// 이 밑에 코드들은 실행이 중지된다. (Node 기준)
일반적인 try-catch 예외처리
function A (){
try {
B();
}catch(e){
console.log("A 가 잡음")
}
}
function B () {
try{
throw new Error("에러임");
}catch(e){
console.log("B 가 잡음")
}
}
A(); // "B 가 잡음"
런타임 도중 에러는 계속해서 아래로 전파된다.
위의 예제는 함수는 B에서 에러 처리를 해줬기 때문에 A 에선 발생하지 않는다.
비동기 try-catch
try{
setTimeout(() => {
throw new Error("에러")
}, 1000)
}catch(e){
}
해당 코드는 예외처리를 하지 못한다.
스코프가 비동기적으로 돌기때문에 아래와 같이 처리해야한다.
setTimeout(() => {
try{
throw new Error("에러")
}catch(e){
}
}, 1000)
There might be incorrect information or outdated content.
'Web > Javascript' 카테고리의 다른 글
[JAVASCRIPT] for~in vs for~of (0) | 2023.08.28 |
---|---|
[JAVASCRIPT] this (0) | 2023.08.25 |
[JAVASCRIPT] isNaN 검사 (0) | 2023.08.15 |
[JAVASCRIPT] DOM - 노드 조작 (0) | 2023.08.04 |
[JAVASCRIPT] DOM - 노드 탐색 (0) | 2023.08.04 |