Package com.azure.core.annotation
Annotation Type UnexpectedResponseExceptionType
@Retention(RUNTIME)
@Target(METHOD)
@Repeatable(UnexpectedResponseExceptionTypes.class)
public @interface UnexpectedResponseExceptionType
The exception type that is thrown or returned when one of the status codes is returned from a REST API. Multiple
annotations can be used. When no codes are listed that exception is always thrown or returned if it is reached
during evaluation, this should be treated as a default case. If no default case is annotated the fall through
exception is
HttpResponseException
.
Example:
// Set it so that all response exceptions use a custom exception type. @UnexpectedResponseExceptionType(MyCustomExceptionHttpResponseException.class) @Post("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/" + "Microsoft.CustomerInsights/hubs/{hubName}/images/getEntityTypeImageUploadUrl") void singleExceptionType(@PathParam("resourceGroupName") String resourceGroupName, @PathParam("hubName") String hubName, @PathParam("subscriptionId") String subscriptionId, @BodyParam("application/json") RequestBody parameters); // Set it so 404 uses a specific exception type while others use a generic exception type. @UnexpectedResponseExceptionType(code = {404}, value = ResourceNotFoundException.class) @UnexpectedResponseExceptionType(HttpResponseException.class) @Post("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/" + "Microsoft.CustomerInsights/hubs/{hubName}/images/getEntityTypeImageUploadUrl") void multipleExceptionTypes(@PathParam("resourceGroupName") String resourceGroupName, @PathParam("hubName") String hubName, @PathParam("subscriptionId") String subscriptionId, @BodyParam("application/json") RequestBody parameters); // If multiple annotations share the same HTTP status code or there is multiple default annotations the // exception, the last annotation in the top to bottom order will be used (so the bottom most annotation).
-
Required Element Summary
Modifier and TypeRequired ElementDescriptionClass<? extends HttpResponseException>
The type of HttpResponseException that should be thrown/returned when the API returns an unrecognized status code. -
Optional Element Summary
Modifier and TypeOptional ElementDescriptionint[]
HTTP status codes which trigger the exception to be thrown or returned, if not status codes are listed the exception is always thrown or returned.
-
Element Details
-
value
Class<? extends HttpResponseException> valueThe type of HttpResponseException that should be thrown/returned when the API returns an unrecognized status code.- Returns:
- The type of RestException that should be thrown/returned.
-
-
-
code
int[] codeHTTP status codes which trigger the exception to be thrown or returned, if not status codes are listed the exception is always thrown or returned.- Returns:
- The HTTP status codes that trigger the exception to be thrown or returned.
- Default:
- {}
-