当我尝试print在Python中使用语句时,它给了我这个错误:
>>> print "Hello, World!"
File "<stdin>", line 1
print "Hello, World!"
^
SyntaxError: Missing parentheses in call to 'print'
Run Code Online (Sandbox Code Playgroud)
那是什么意思?
为什么在Python 3中打印字符串时会收到语法错误?
>>> print "hello World"
File "<stdin>", line 1
print "hello World"
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud) 考虑这两个片段:
try:
a+a=a
except SyntaxError:
print "first exception caught"
Run Code Online (Sandbox Code Playgroud)
.
try:
eval("a+a=a")
except SyntaxError:
print "second exception caught"
Run Code Online (Sandbox Code Playgroud)
在第二种情况下,打印"第二个异常.."语句(异常捕获),而在第一个异常捕获时则不是.
第一个异常(让我们称之为"SyntaxError1")与第二个异常("SyntaxError2")?
有没有办法捕获SyntaxError1(从而抑制编译时错误)?包装大块代码eval是不能令人满意的;)
请考虑以下代码:
try:
if True a = 1 #It's missing a colon So it's a SyntaxError!!!!!!!
except SyntaxError:
print 'hey'
Run Code Online (Sandbox Code Playgroud)
你希望它打印hey但是它提出了一个SyntaxError,我试图避免的同样的错误.那么可以使用try-except块来处理所有异常吗?好吧,如果SyntaxError它是一个例外,为什么它包含在内置异常中?最后,我如何修复上面的代码,以便正确处理异常?
注意:我知道我要做的事情完全没有意义,并没有真正的目的