2014-02-08 4 views
1

Если у меня есть файлpython_error_msg.pyMissleading Python Сообщение об ошибке

x = [e for e in range(x) 
x+=1 

И я запустить это

$ python3 python_error_msg.py 

Отсутствующий кронштейн дает следующее сообщение об ошибке:

File "python_error_msg.py", line 2 
    x+=1 
    ^
SyntaxError: invalid syntax 

Почему d Это происходит так? Я ошибаюсь в забывании о ] в понятии. Является ли это чем-то, что может быть сделано лучше, или это более глубокий вопрос о том, как работает синтаксис Python?

Кроме того, где я могу посмотреть в codebase , чтобы узнать, как работает отчет об ошибках в Python?

ответ

5

Проблема в погрешности не до этого второй линия. Python продолжает читать в скобках (или скобки, фигурные скобки и т. Д.)

Что делать, если ваш код был таким?

x = [e for e in range(x) 
] 

Ошибка.

Тем не менее, в этих случаях я хочу SyntaxError бы сказать:

SyntaxError: invalid syntax on line 2 of parenthetical 

(В конце концов, даже самые опытные программисты забывают закрыть скобки иногда

+0

Ровно И я всегда в конечном итоге чтения линии 2 – mrKelley

+0

По крайней мере, 90% вопросов 'SyntaxError' на переполнении стека действительно являются строкой над ошибкой. На этом этапе я просто посмотрю туда в первую очередь. – mhlester

+0

Я, вероятно, буду использоваться Мне все еще очень интересно, как сообщают об ошибках. – mrKelley

Смежные вопросы