为什么我的代码不是错误?

时间:2014-06-30 15:18:33

标签: python python-2.7

我写了这段代码,除了可以抛出的错误之外。这是代码:

def println(stringint):
    try:
        print stringint
    except (SyntaxError, NameError):
        print "Invalid format."

我像这样从python解释器运行代码,只有这样:

>>> import pcl
>>> pcl.println("Hello")

为什么错误不被排除?我怎样才能发现错误?

2 个答案:

答案 0 :(得分:3)

与语法有关的那些错误是解析级别错误,这意味着,之前发生的错误正在解释特定代码。

以下不同类型的错误:

print("Hello)  # Note the missing '"'

print(4/0)     # Syntactically correct, but obviously an error.

因此,try -- except块无法处理语法错误。

有关详细信息,请参阅此答案:SyntaxError inconsistency in Python?

答案 1 :(得分:0)

您的代码运行良好,"Hello"不应该引发EOLErrorNameError,因为引号已关闭,而且它是一个字符串。