Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions Doc/whatsnew/3.14.rst
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,49 @@ is unchanged.
Improved error messages
-----------------------

* The interpreter now provides helpful suggestions when it detects typos in Python
keywords. When a word that closely resembles a Python keyword is encountered,
the interpreter will suggest the correct keyword in the error message. This
feature helps programmers quickly identify and fix common typing mistakes. For
example:

.. code-block:: python

>>> whille True:
... pass
Traceback (most recent call last):
File "<stdin>", line 1
whille True:
^^^^^^
SyntaxError: invalid syntax. Did you mean 'while'?

>>> asynch def fetch_data():
... pass
Traceback (most recent call last):
File "<stdin>", line 1
asynch def fetch_data():
^^^^^^
SyntaxError: invalid syntax. Did you mean 'async'?

>>> async def foo():
... awaid fetch_data()
Traceback (most recent call last):
File "<stdin>", line 2
awaid fetch_data()
^^^^^
SyntaxError: invalid syntax. Did you mean 'await'?

>>> raisee ValueError("Error")
Traceback (most recent call last):
File "<stdin>", line 1
raisee ValueError("Error")
^^^^^^
SyntaxError: invalid syntax. Did you mean 'raise'?

While the feature focuses on the most common cases, some variations of
misspellings may still result in regular syntax errors.
(Contributed by Pablo Galindo in :gh:`132449`.)

* When unpacking assignment fails due to incorrect number of variables, the
error message prints the received number of values in more cases than before.
(Contributed by Tushar Sadhwani in :gh:`122239`.)
Expand Down
Loading