Fix exception causes in introspect/type_parsing.py
This commit is contained in:
@@ -128,15 +128,16 @@ def parse_type(
|
|||||||
"""Parses a string that represents a C type into an AST node."""
|
"""Parses a string that represents a C type into an AST node."""
|
||||||
try:
|
try:
|
||||||
type_str_stack = _peel_nested_parens(type_name.strip())
|
type_str_stack = _peel_nested_parens(type_name.strip())
|
||||||
except AssertionError:
|
except AssertionError as e:
|
||||||
raise ValueError(f'{type_name!r} contains incorrectly nested parentheses')
|
raise ValueError(f'{type_name!r} contains incorrectly nested '
|
||||||
|
f'parentheses') from e
|
||||||
|
|
||||||
result = None
|
result = None
|
||||||
while type_str_stack:
|
while type_str_stack:
|
||||||
try:
|
try:
|
||||||
result = _parse_maybe_array(type_str_stack.pop(), result)
|
result = _parse_maybe_array(type_str_stack.pop(), result)
|
||||||
except AssertionError:
|
except AssertionError as e:
|
||||||
raise ValueError(f'invalid type name {type_name!r}')
|
raise ValueError(f'invalid type name {type_name!r}') from e
|
||||||
|
|
||||||
assert result # hint for pytype that `result` isn't None
|
assert result # hint for pytype that `result` isn't None
|
||||||
return result
|
return result
|
||||||
|
|||||||
Reference in New Issue
Block a user