더북(TheBook)

Q. stdio, write, writeln 등에서 단어의 철자가 틀리거나 괄호를 빼먹으면 어떤 일이 생기나?

A. 구체적으로 어떻게 잘못했는지에 따라 다르다. 이 오류는 구문 오류(syntax error)라고 하며, 일반적으로 컴파일러가 잡아낸다. 예를 들어 helloworld.py와 똑같지만 첫 번째 여는 괄호를 실수로 빠트린 bad.py를 컴파일하면 다음과 같이 도움이 되는 메시지를 볼 수 있다.

% python3 bad.py
File "bad.py", line 4 
  stdio.write'Hello, World')
              ^
SyntaxError: invalid syntax

이 메시지를 보면 여는 괄호를 넣어야 함을 쉽게 짐작할 수 있다. 그러나 컴파일러가 늘 여러분의 실수를 제대로 지적할 수 있는 것은 아니어서, 에러 메시지가 이해하기 어려운 경우도 있다. 예를 들어 여는 괄호 대신 닫는 괄호를 실수로 빠트리면 다음과 같이 오류가 발생한 줄의 다음 줄을 참조하는 메시지가 출력된다.

% python3 bad.py
File "bad.py", line 5
               ^
SyntaxError: unexpected EOF while parsing

간단한 프로그램에 일부러 오류를 발생시켜 어떤 메시지가 출력되는지 확인해보면 이런 오류 메시지에 익숙해질 수 있다. 어떤 오류 메시지가 발생하든 오류 메시지를 일종의 친구로 생각해야 한다. 여러분이 만든 프로그램에 어떤 오류가 있는지 알려주려 하기 때문이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.