mirror of
https://github.com/python/cpython.git
synced 2025-11-17 09:30:10 +00:00
bpo-44322: Document more SyntaxError details. (GH-26562)
1. SyntaxError args have a tuple of other attributes. 2. Attributes are adjusted for errors in f-string field expressions. 3. Compile() can raise SyntaxErrors.
This commit is contained in:
parent
0d12f24552
commit
67dfa6f2a5
2 changed files with 11 additions and 2 deletions
|
|
@ -409,14 +409,16 @@ The following exceptions are the exceptions that are usually raised.
|
||||||
|
|
||||||
.. versionadded:: 3.5
|
.. versionadded:: 3.5
|
||||||
|
|
||||||
.. exception:: SyntaxError
|
.. exception:: SyntaxError(message, details)
|
||||||
|
|
||||||
Raised when the parser encounters a syntax error. This may occur in an
|
Raised when the parser encounters a syntax error. This may occur in an
|
||||||
:keyword:`import` statement, in a call to the built-in functions :func:`exec`
|
:keyword:`import` statement, in a call to the built-in functions
|
||||||
|
:func:`compile`, :func:`exec`,
|
||||||
or :func:`eval`, or when reading the initial script or standard input
|
or :func:`eval`, or when reading the initial script or standard input
|
||||||
(also interactively).
|
(also interactively).
|
||||||
|
|
||||||
The :func:`str` of the exception instance returns only the error message.
|
The :func:`str` of the exception instance returns only the error message.
|
||||||
|
Details is a tuple whose members are also available as separate attributes.
|
||||||
|
|
||||||
.. attribute:: filename
|
.. attribute:: filename
|
||||||
|
|
||||||
|
|
@ -446,6 +448,11 @@ The following exceptions are the exceptions that are usually raised.
|
||||||
The column in the end line where the error occurred finishes. This is
|
The column in the end line where the error occurred finishes. This is
|
||||||
1-indexed: the first character in the line has an ``offset`` of 1.
|
1-indexed: the first character in the line has an ``offset`` of 1.
|
||||||
|
|
||||||
|
For errors in f-string fields, the message is prefixed by "f-string: "
|
||||||
|
and the offsets are offsets in a text constructed from the replacement
|
||||||
|
expression. For example, compiling f'Bad {a b} field' results in this
|
||||||
|
args attribute: ('f-string: ...', ('', 1, 2, '(a b)\n', 1, 5)).
|
||||||
|
|
||||||
.. versionchanged:: 3.10
|
.. versionchanged:: 3.10
|
||||||
Added the :attr:`end_lineno` and :attr:`end_offset` attributes.
|
Added the :attr:`end_lineno` and :attr:`end_offset` attributes.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
Document that SyntaxError args have a details tuple and that details are
|
||||||
|
adjusted for errors in f-string field replacement expressions.
|
||||||
Loading…
Add table
Add a link
Reference in a new issue