同样的错误,但错误报告不同。为什么?

时间:2012-11-08 17:40:39

标签: python error-reporting

为什么Python出于同样的原因报告不同的错误,包含1行和2行代码的程序?

我的意思是:

print(1

给出

Error: unexpected EOF while parsing

a = 1+1
print(1

给出

Error: invalid syntax

同样的问题 - 但错误信息不同 - 原因?

sys.version_info(major = 3,minor = 2,micro = 0,releaselevel ='final',serial = 0)

1 个答案:

答案 0 :(得分:2)

在你的第一个案例中,python正在寻找其第一行/命令。 程序的最小值至少是一个语句。所以它抱怨提前终止。

所以第一个错误EOF(文件结束)意味着: “嘿,我期待至少有一个命令,突然线条结束......”“你确定程序已经完成了吗?”

上一次运行的第二个错误,因此编译器“知道”这是一个程序。

并且错误不同但意味着:

'嘿,我现在你在这个位置上有错误,你能修好你的罪孽吗?

我希望我的非学术方式不会让你分心:)