25

에러 메시지 해부학

Day 1: 영어 문서 공포증

학습 목표

에러 메시지의 구조를 이해한다 에러 타입과 설명을 구분할 수 있다

에러 메시지는 힌트다

에러 메시지가 무섭다고? 사실 에러 메시지는 친절한 힌트다.

문제가 뭔지, 어디서 발생했는지 다 알려준다. 영어라서 못 읽을 뿐이다.


에러 메시지 구조

모든 에러 메시지는 이 구조를 따른다:

에디터 로딩 중...
부분의미예시
ErrorType에러 종류TypeError, SyntaxError
description무슨 문제인지Cannot read properties...
location어디서 발생했는지at main.py, line 10

Python 에러 읽기

에디터 로딩 중...

해석해보자:

  1. Traceback = 에러 발생 경로
  2. most recent call last = 마지막 호출이 가장 아래
  3. File "main.py", line 10 = main.py 파일 10번째 줄
  4. ZeroDivisionError = 에러 타입 (0으로 나눔)
  5. division by zero = 에러 설명 (0으로 나누려고 함)

결론: 0으로 나누면 안 된다.


JavaScript 에러 읽기

에디터 로딩 중...

해석해보자:

  1. TypeError = 타입 관련 에러
  2. Cannot read properties = 속성을 읽을 수 없다
  3. of undefined = undefined에서
  4. (reading 'map') = 'map'을 읽으려고 할 때
  5. at App.js:15:23 = App.js 파일 15번째 줄

결론: 배열이 undefined인데 map()을 호출했다.


핵심 패턴 암기

패턴의미해결책
is not defined변수가 없다선언 확인
is not a function함수가 아닌 것을 호출타입 확인
Cannot read properties of undefinedundefined 접근null 체크
unexpected token문법 오류괄호/따옴표 확인
Module not found모듈이 없다설치 확인

이 5가지만 알면 대부분의 에러를 이해할 수 있다.