Skip to content

Commit db13e88

Browse files
committed
Improve raising typed exceptions
`match-case` syntax is only available in Python 3.10+, while the minimum supported is 3.9 Improve edge case handling if JSON unmarshaling doesn't have the appropriate keys
1 parent ccf8a53 commit db13e88

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

src/onepassword/errors.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,11 @@ def raise_typed_exception(e: Exception):
1515
except Exception:
1616
raise e
1717

18-
message = typed_error["message"]
19-
match typed_error["name"]:
20-
case "RateLimitExceeded":
21-
raise RateLimitExceededException(message)
22-
case _:
23-
raise Exception(message)
18+
message = typed_error.get("message")
19+
error_name = typed_error.get("name")
20+
if error_name == "RateLimitExceeded":
21+
raise RateLimitExceededException(message)
22+
elif message is not None:
23+
raise Exception(message)
24+
else:
25+
raise e

0 commit comments

Comments
 (0)