yuzunsang / JS-deep-dive-study

자바스크립트 딥 다이브 스터디✨
0 stars 3 forks source link

[CH47] 에러 처리 #61

Open yuzunsang opened 1 month ago

yuzunsang commented 1 month ago

[퀴즈 예시] Q. 여기에 퀴즈 설명을 적으세요.

적을 코드가 있다면 밑에 적어주세요. (백틱 3개로 코드를 감싸면 코드 양식을 적을 수 있습니다.)

// 예시 코드
const arr = [1, 2, 3];
console.log("Hello");

아래 코드를 복붙해서 정답을 적어주세요.

<details>
    <summary>정답</summary>
    <div markdown="1">    
    정답 설명
    </div>
</details>
yuzunsang commented 1 month ago

Q. 🟦에 들어갈 것은?

try {
    🟦 new Error("에러 발생!");
} catch (err) {
    console.log(err);
}
정답
throw
J-yun-ji commented 1 month ago

Q. 다음 생성자 함수의 인스턴스를 맞추시오.

**생성자 함수**
1. RangeError
2. Error
3. SyntaxError
4. EvalError
5. URIError 
6. ReferenceError 
7. TypeError
**인스턴스**
1) 일반적 에러 객체
2) 자바스크립트 문법에 맞지 않는 문을 해석할 때 발생하는 에러 객체
3) 참조할 수 없는 식별자를 참조했을 때 발생하는 에러 객체
4) 피연산자 또는 인수의 데이터 타입이 유효하지 않을 때 발생하는 에러 객체
5) 숫자값의 허용 범위를 벗어났을 때 발생하는 에러 객체 
6) encodeURI 또는 decodeURI 함수에 부적절한 인수를 전달했을 때 발생하는 에러 객체
7) eval 함수에서 발생하는 에러 객체
정답
1. -> 5)
2. -> 1)
3. -> 2)
4. -> 7)
5. -> 6)
6. -> 3)
7. -> 4)
bo-eun commented 1 month ago

Q. 에러 전파 방향을 설명해보세요.

const foo = () => {
  throw Error('에러')
};

const bar = () => {
  foo();
};

const baz = () => {
  bar();
};

try {
  baz();
} catch(err) {
  console.error(err) 
}
정답
foo() -> bar() -> baz() -> 전역