python 中内置的SyntaxError 有什么意义?它似乎没有任何实际用途,因为 SyntaxError 是在代码运行之前 由 python 解释器发现的。示例:
try:
&@!5_+ #SyntaxError
except: pass
这会因 SyntaxError 而失败,因为 SyntaxError 在可以处理之前被发现。现在这个工作和失败无声,如预期的那样:
try:
raise SyntaxError
except: pass
但是,我从未见过 function 或 class 或 anything 引发 SyntaxError。那么,当唯一的用途似乎是毫无意义地提高它时,为什么它如此容易使用和捕捉呢? python 是否在某个地方引发了可以捕获的 SyntaxError ?还是它只是存在于内置范围内?
请您参考如下方法:
我相信documentation是不言自明的:
Raised when the parser encounters a syntax error. This may occur in an import statement, in a call to the built-in functions
exec()oreval(), or when reading the initial script or standard input (also interactively).
