πŸ’‘ JSλ₯Ό 싀행함에 μžˆμ–΄μ„œ Errorκ°€ λ°œμƒν–ˆμ„ λ•Œ 이에 λŒ€ν•΄μ„œ μ†”μ§νžˆ 깊이 μžˆλŠ” ν•™μŠ΅μ„ 해보지 λͺ»ν–ˆμŠ΅λ‹ˆλ‹€. μ˜€λŠ˜μ€ 이 뢀뢄에 λŒ€ν•΄μ„œ μ‚΄νŽ΄λ³΄λ €κ³  ν•©λ‹ˆλ‹€.


μ—λŸ¬κ°€ λ‚˜λ©΄ 쀑단?

JSλŠ” μΈν„°ν”„λ¦°νŠΈ 언어이기 λ•Œλ¬Έμ—, λΈŒλΌμš°μ €κ°€ JS 해석 도쀑에 Errorκ°€ λ°œμƒν•˜λ©΄, 해석이 μ€‘λ‹¨λ©λ‹ˆλ‹€.

해석이 μ™„λ£Œλœ μ΄ν›„μ˜ λ™μž‘ 쀑에 μ—λŸ¬κ°€ λ°œμƒλœλ‹€λ©΄, λ™μž‘μ΄ μ€‘λ‹¨λ©λ‹ˆλ‹€.

λͺ¨λ“  μ—λŸ¬λŠ” console에 error둜 기둝이 되고 λͺ¨λ“  ErrorλŠ” Error μ΄λ²€νŠΈκ°€ λ°œμƒλ˜κ²Œ λ©λ‹ˆλ‹€.


Error νƒ€μž…

JSμ—μ„œλŠ” 방식에 따라 μ—¬λŸ¬ Error νƒ€μž…μ΄ μ‘΄μž¬ν•©λ‹ˆλ‹€.

  • message: 선택사항. μ—λŸ¬μ— λŒ€ν•œ μ„€λͺ…λ¬Έ
  • fileName: 선택사항. μ˜ˆμ™Έκ°€ λ°œμƒν•œ μ½”λ“œλ₯Ό ν¬ν•¨ν•˜λŠ” 파일의 이름
  • lineNumber: 선택사항. μ˜ˆμ™Έκ°€ λ°œμƒν•œ μ½”λ“œμ˜ 쀄 번호

SyntaxError

JSμ—μ„œ λ¬Έλ²•μ μœΌλ‘œ μœ νš¨ν•˜μ§€ μ•Šμ€ μ½”λ“œλ₯Ό ν•΄μ„ν•˜λ €κ³  μ‹œλ„ν•  λ•Œ λ°œμƒν•˜λŠ” 였λ₯˜μž…λ‹ˆλ‹€.

new SyntaxError([message[, fileName[, lineNumber]]])


RangeError

ν—ˆμš©ν•œ λ²”μœ„λ₯Ό λ„˜λŠ” 값을 μ μš©ν•˜λ €κ³  ν•  λ•Œ λ°œμƒν•©λ‹ˆλ‹€.

new RangeError([message[, fileName[, lineNumber]]])


ReferenceError

Reference Error κ°μ²΄λŠ” μ‘΄μž¬ν•˜μ§€ μ•Šμ€ λ³€μˆ˜λ₯Ό μ°Έμ‘°ν–ˆμ„ λ•Œ λ°œμƒν•˜λŠ” μ—λŸ¬μž…λ‹ˆλ‹€.

new ReferenceError([message[, fileName, [, lineNumber]]])


TypeError

ν•΄λ‹Ή 값이 κΈ°λŒ€ν•˜λ˜ μžλ£Œν˜•μ΄ μ•„λ‹ˆλΌμ„œ 연산을 ν•  수 없을 λ•Œ λ°œμƒν•˜λŠ” 였λ₯˜μž…λ‹ˆλ‹€.

new TypeError([message[, fileName[, lineNumber]]])

JS의 νƒ€μž… (7μ’…λ₯˜)

  1. Number
  2. String
  3. Object
  4. Undefined
  5. Boolean
  6. Symbol
  7. Null


URLError

URI ν˜•νƒœκ°€ μ˜¬λ°”λ₯΄μ§€ μ•Šμ„ λ•Œ λ°œμƒν•©λ‹ˆλ‹€.


EvalError

evel() λ©”μ„œλ“œμ—μ„œ μ—λŸ¬κ°€ λ°œμƒν•  λ•Œ λ°œμƒν•©λ‹ˆλ‹€.

new EvalError([message[, fileName[, lineNumber]]])





μ°Έκ³ 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError