mirror of https://github.com/python/cpython
bpo-43149: Correct the syntax error message for multiple exception types (GH-25996)
Automerge-Triggered-By: GH:pablogsal
This commit is contained in:
parent
873275e64a
commit
6692dc1ca9
|
@ -248,7 +248,7 @@ have been incorporated. Some of the most notable ones:
|
||||||
File "<stdin>", line 3
|
File "<stdin>", line 3
|
||||||
except NotEnoughScienceError, NotEnoughResourcesError:
|
except NotEnoughScienceError, NotEnoughResourcesError:
|
||||||
^
|
^
|
||||||
SyntaxError: exception group must be parenthesized
|
SyntaxError: multiple exception types must be parenthesized
|
||||||
|
|
||||||
(Contributed by Pablo Galindo in :issue:`43149`)
|
(Contributed by Pablo Galindo in :issue:`43149`)
|
||||||
|
|
||||||
|
|
|
@ -956,7 +956,7 @@ invalid_try_stmt:
|
||||||
RAISE_INDENTATION_ERROR("expected an indented block after 'try' statement on line %d", a->lineno) }
|
RAISE_INDENTATION_ERROR("expected an indented block after 'try' statement on line %d", a->lineno) }
|
||||||
invalid_except_stmt:
|
invalid_except_stmt:
|
||||||
| 'except' a=expression ',' expressions ['as' NAME ] ':' {
|
| 'except' a=expression ',' expressions ['as' NAME ] ':' {
|
||||||
RAISE_SYNTAX_ERROR_STARTING_FROM(a, "exception group must be parenthesized") }
|
RAISE_SYNTAX_ERROR_STARTING_FROM(a, "multiple exception types must be parenthesized") }
|
||||||
| a='except' expression ['as' NAME ] NEWLINE { RAISE_SYNTAX_ERROR("expected ':'") }
|
| a='except' expression ['as' NAME ] NEWLINE { RAISE_SYNTAX_ERROR("expected ':'") }
|
||||||
| a='except' NEWLINE { RAISE_SYNTAX_ERROR("expected ':'") }
|
| a='except' NEWLINE { RAISE_SYNTAX_ERROR("expected ':'") }
|
||||||
invalid_finally_stmt:
|
invalid_finally_stmt:
|
||||||
|
|
|
@ -1068,7 +1068,7 @@ Make sure that the old "raise X, Y[, Z]" form is gone:
|
||||||
...
|
...
|
||||||
SyntaxError: invalid syntax
|
SyntaxError: invalid syntax
|
||||||
|
|
||||||
Check that an exception group with missing parentheses
|
Check that an multiple exception types with missing parentheses
|
||||||
raise a custom exception
|
raise a custom exception
|
||||||
|
|
||||||
>>> try:
|
>>> try:
|
||||||
|
@ -1076,21 +1076,21 @@ raise a custom exception
|
||||||
... except A, B:
|
... except A, B:
|
||||||
... pass
|
... pass
|
||||||
Traceback (most recent call last):
|
Traceback (most recent call last):
|
||||||
SyntaxError: exception group must be parenthesized
|
SyntaxError: multiple exception types must be parenthesized
|
||||||
|
|
||||||
>>> try:
|
>>> try:
|
||||||
... pass
|
... pass
|
||||||
... except A, B, C:
|
... except A, B, C:
|
||||||
... pass
|
... pass
|
||||||
Traceback (most recent call last):
|
Traceback (most recent call last):
|
||||||
SyntaxError: exception group must be parenthesized
|
SyntaxError: multiple exception types must be parenthesized
|
||||||
|
|
||||||
>>> try:
|
>>> try:
|
||||||
... pass
|
... pass
|
||||||
... except A, B, C as blech:
|
... except A, B, C as blech:
|
||||||
... pass
|
... pass
|
||||||
Traceback (most recent call last):
|
Traceback (most recent call last):
|
||||||
SyntaxError: exception group must be parenthesized
|
SyntaxError: multiple exception types must be parenthesized
|
||||||
|
|
||||||
>>> try:
|
>>> try:
|
||||||
... pass
|
... pass
|
||||||
|
@ -1099,7 +1099,7 @@ raise a custom exception
|
||||||
... finally:
|
... finally:
|
||||||
... pass
|
... pass
|
||||||
Traceback (most recent call last):
|
Traceback (most recent call last):
|
||||||
SyntaxError: exception group must be parenthesized
|
SyntaxError: multiple exception types must be parenthesized
|
||||||
|
|
||||||
|
|
||||||
>>> f(a=23, a=234)
|
>>> f(a=23, a=234)
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
Corrent the syntax error message regarding multiple exception types to not
|
||||||
|
refer to "exception groups". Patch by Pablo Galindo
|
|
@ -19978,7 +19978,7 @@ invalid_except_stmt_rule(Parser *p)
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
D(fprintf(stderr, "%*c+ invalid_except_stmt[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'except' expression ',' expressions ['as' NAME] ':'"));
|
D(fprintf(stderr, "%*c+ invalid_except_stmt[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'except' expression ',' expressions ['as' NAME] ':'"));
|
||||||
_res = RAISE_SYNTAX_ERROR_STARTING_FROM ( a , "exception group must be parenthesized" );
|
_res = RAISE_SYNTAX_ERROR_STARTING_FROM ( a , "multiple exception types must be parenthesized" );
|
||||||
if (_res == NULL && PyErr_Occurred()) {
|
if (_res == NULL && PyErr_Occurred()) {
|
||||||
p->error_indicator = 1;
|
p->error_indicator = 1;
|
||||||
D(p->level--);
|
D(p->level--);
|
||||||
|
|
Loading…
Reference in New Issue