2012-11-08 1 views
9

왜 파이썬은 같은 이유로 여러 가지 오류에 대해보고합니까? 1과 2 줄의 코드가있는 프로그램입니까?같은 실수이지만 다른 오류보고. 왜?

는 말은 :

print(1 

Error: unexpected EOF while parsing 

하지만

a = 1+1 
print(1 

Error: invalid syntax 

같은 문제를 제공합니다 제공 -하지만 오류 메시지가 다릅니다 - 이유는 무엇입니까? 첫 번째의 경우 파이썬에서

+4

이있는 메시지의 종류 :'->'? 아니면 당신이 실행하는 파일에서 파이썬 코드에 대해 이야기하고 있습니까? 방법? –

+0

-> 코드 시작 줄을 표시하십시오. 죄송합니다. 첫 번째 코드는 한 줄의 코드이고 두 번째 코드는 두 줄의 코드입니다. – user1810077

+3

첫 번째 오류를 재현 할 수 없습니다. 어떤 버전의 파이썬을 사용하고 있습니까? –

답변

2

sys.version_info (= 0 시리얼, 작은, 3 = 주요 = 2, 마이크로 = 0, releaselevel = '마지막')는 자사의 첫 번째 라인/명령 '을 찾고'입니다. 프로그램 최소값은 최소 하나의 명령문입니다. 따라서 조기 종료에 대해 불평합니다.

그래서 첫 번째 오류 EOF (파일 끝)는 다음을 의미합니다. '적어도 한 명령이 예상 되다가 갑자기 줄이 끝났습니다 ...' '프로그램을 완료 했습니까?'

컴파일러가 이전에 실행 한 두 번째 오류로 인해 프로그램임을 알 수 있습니다.

및 오류가 다르지만 그 의미 :

'이봐, 난을 지금이 위치에 오류가, 당신은 당신의 sintaxe를 해결할 수'?

난 당신이 :) 내 비 학문적 인 방법은 산만하지 않았 으면

+1

2Carlos : 1-lin 실행 이외의 다른 경우에는 "EOF"오류가 발생하지 않습니다. 전자 프로그램? – user1810077

+0

tcp 소켓이나 파일을 읽는 것과 같은 '흐름 제어'가있을 때 같은 오류가 발생할 수 있습니다. 갑자기 '중단됨'입니다. 인터넷 소켓을 다룰 때 이상하게 느껴지면이 오류가 발생합니다 ... 당신은 다음과 같이 느낍니다 : '무엇을 ?? 파일이 없습니다 ..' 하지만'파일 '이 의미하는 바를 이해하면됩니다. 괴짜 노트 : 메인 프레임 z/OS는 여전히 디스크 및 볼륨 용으로 테이프 이름을 사용합니다 ... –