summaryrefslogtreecommitdiff
path: root/tests/basics/getattr.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/basics/getattr.py')
-rw-r--r--tests/basics/getattr.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/basics/getattr.py b/tests/basics/getattr.py
index a021e38fb..2257da3bf 100644
--- a/tests/basics/getattr.py
+++ b/tests/basics/getattr.py
@@ -9,3 +9,20 @@ class A:
a = A({'a':1, 'b':2})
print(a.a, a.b)
+
+# test that any exception raised in __getattr__ propagates out
+class A:
+ def __getattr__(self, attr):
+ if attr == "value":
+ raise ValueError(123)
+ else:
+ raise AttributeError(456)
+a = A()
+try:
+ a.value
+except ValueError as er:
+ print(er)
+try:
+ a.attr
+except AttributeError as er:
+ print(er)