You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/docs/advanced/error-handling.md
+10-6Lines changed: 10 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,14 @@
1
1
# Error handling
2
2
3
-
If there is a network transport error (network is down, failed DNS lookup, etc), or any kind of server error (except 404), `RestResponse.ResponseStatus` will be set to `ResponseStatus.Error`, otherwise it will be `ResponseStatus.Completed`.
3
+
If there is a network transport error (network is down, failed DNS lookup, etc.), or any kind of server error (except 404), `RestResponse.ResponseStatus` will be set to `ResponseStatus.Error`, otherwise it will be `ResponseStatus.Completed`.
4
4
5
-
If an API returns a 404, `ResponseStatus` will still be `Completed`. If you need access to the HTTP status code returned you will find it at `RestResponse.StatusCode`.
5
+
If an API returns a 404, `ResponseStatus` will still be `Completed`. If you need access to the HTTP status code returned, you will find it at `RestResponse.StatusCode`.
6
6
The `Status` property is an indicator of completion independent of the API error handling.
7
7
8
8
Normally, RestSharp doesn't throw an exception if the request fails.
9
9
10
-
However, it is possible to configure RestSharp to throw in different situations, when it normally doesn't throw
11
-
in favour of giving you the error as a property.
10
+
However, it is possible to configure RestSharp to throw in different situations when it normally doesn't throw
@@ -18,15 +18,19 @@ in favour of giving you the error as a property.
18
18
19
19
Those properties are available for the `RestClientOptions` and will be used for all request made with the client instance.
20
20
21
-
For example, you can configure the client to throw an exception if any error occurs when making a request, or when a request returns a non-successful HTTP status code:
21
+
For example, you can configure the client to throw an exception if any error occurs when making a request or when a request returns a non-successful HTTP status code:
@@ -38,7 +42,7 @@ Check the serializer documentation to find out if it can be configured to throw
38
42
39
43
There are also slight differences on how different overloads handle exceptions.
40
44
41
-
Asynchronous generic methods `GetAsync<T>`, `PostAsync<T>` and so on, which aren't a part of `RestClient`interface (those methods are extension methods) return `Task<T>`. It means that there's no `RestResponse` to set the response status to error. We decided to throw an exception when such a request fails. It is a trade-off between the API consistency and usability of the library. Usually, you only need the content of `RestResponse` instance to diagnose issues and most of the time the exception would tell you what's wrong.
45
+
Asynchronous generic methods `GetAsync<T>`, `PostAsync<T>` and so on, which aren't a part of `RestClient`API (those methods are extension methods) return `Task<T>`. It means that there's no `RestResponse` to set the response status to error. We decided to throw an exception when such a request fails. It is a trade-off between the API consistency and usability of the library. Usually, you only need the content of `RestResponse` instance to diagnose issues and most of the time the exception would tell you what's wrong.
42
46
43
47
Below, you can find how different extensions deal with errors. Note that functions, which don't throw by default, will throw exceptions when `ThrowOnAnyError` is set to `true`.
0 commit comments