에러 메시지를 처음 보면 내가 뭘 크게 망쳤나라는 느낌부터 든다. 하지만 대부분의 에러는 코드 전체가 아니라 아주 작은 지점을 가리킨다.
문제는 초보자가 그 작은 힌트를 어디서 읽어야 하는지 모른다는 데 있다. 그래서 화면을 전부 해석하려다가 더 혼란스러워진다.
항상 같은 순서로 본다
첫째, 어떤 파일의 몇 번째 줄인지 확인한다. 둘째, 실제 문제 단어가 무엇인지 찾는다. 셋째, 지금 고치려는 줄이 원인인지 아니면 증상인지 생각한다.
이 순서가 몸에 붙으면 에러가 무섭기보다 문제 위치를 알려 주는 메모처럼 느껴지기 시작한다.
TRACE
NameError: name 'total' is not defined
File "main.py", line 8
핵심은 8번째 줄에서 total이라는 이름을 찾지 못했다는 한 문장이다.
에러를 봤을 때 바로 해볼 일
- 문제가 난 줄의 위아래 3줄만 먼저 본다.
- 변수 이름 오타, 괄호 누락, 따옴표 누락을 먼저 확인한다.
- 방금 바꾼 부분이 있다면 그 부분만 되돌려 보며 비교한다.
- 검색할 때는 에러 문장 전체보다 핵심 구문 위주로 찾는다.
에러는 실력 부족의 증거가 아니라 현재 상태를 보여 주는 안내문에 가깝다.
이 글의 포인트
- 에러 메시지는 파일, 줄 번호, 핵심 단어 순서로 읽는다.
- 처음부터 전체 코드를 보지 말고 문제 난 주변 몇 줄부터 본다.
- 반복되는 독해 순서가 생기면 에러 공포가 많이 줄어든다.