Aşağıdaki program neden SyntaxError
yerine IndentationError
yükseltiliyor?Neden bir ıntansıreror burada bir SyntaxError yerine yükseltiliyor?
>>> if True:
... print "just right!"
File "<stdin>", line 2
print "just right!"
^
IndentationError: Missing parentheses in call to 'print'
IDLE'nin yalnızca komik davranmadığından emin olmak için, bu kodu normal bir kaynak dosyadan çalıştırarak da test ettim. Aynı istisna türü hala yükseltiliyor. Bunu test etmek için kullanılan Python versiyonları Python 3.5.2 ve Python 3.6.1 idi.
Bu, print
kullanırken eksik olan parantezin SyntaxError
, IndentationError
değil olarak kabul edildiğidir.
“SyntaxError: Missing parentheses in call to 'print'” is a new error message that was added in Python 3.4.2 primarily to help users that are trying to follow a Python 2 tutorial while running Python 3.
Bu bir hata mı: yazı What does “SyntaxError: Missing parentheses in call to 'print'” mean in Python? üst cevabı da bunu desteklemek için görünüyor? Eğer öyleyse, buna neden olan nedir?
Yani bunun amaçlanmış davranış olduğunu mu söylüyorsunuz? –
@ChristianDean: Tam olarak değil, bunun bir hata olarak dosyalandığını göreceğim. –
_ "Burada iki hata var." _ - Ama burada iki hataya sahip olsaydım, Python genellikle "Yukarıdaki istisnayı ele alırken başka bir istisna oluştu" gibi bir şey söylemez mi? –