Skip to content

Commit 871e28b

Browse files
Catch every exception type in its own block
This allows to use more fitting error messages. Furthermore, forward the caught exception message in case it contains helpful information.
1 parent 5aa0d0c commit 871e28b

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

deepl/http_client.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -137,14 +137,17 @@ def request(
137137
response.encoding = "UTF-8"
138138
return response.status_code, response.text
139139

140-
except (
141-
requests.exceptions.Timeout,
142-
requests.exceptions.ConnectionError,
143-
):
144-
message = "Connection failed or request timed out."
140+
except requests.exceptions.ConnectionError as e:
141+
message = f"Connection failed: {e}"
145142
should_retry = True
146-
except (requests.exceptions.RequestException, Exception) as e:
147-
message = f"Unexpected connection error: {e}"
143+
except requests.exceptions.Timeout as e:
144+
message = f"Request timed out: {e}"
145+
should_retry = True
146+
except requests.exceptions.RequestException as e:
147+
message = f"Request failed: {e}"
148+
should_retry = False
149+
except Exception as e:
150+
message = f"Unexpected request failure: {e}"
148151
should_retry = False
149152

150153
raise ConnectionException(message, should_retry=should_retry)

0 commit comments

Comments
 (0)