See: Description
Class | Description |
---|---|
MessageReference |
APPLICATION DEVELOPERS: Please use
ODataApplicationException to throw custom exceptions. |
Exception | Description |
---|---|
ODataApplicationException |
This class represents a translated application exception.
|
ODataBadRequestException |
Exceptions of this class will result in a HTTP status 400 bad request
|
ODataConflictException |
Exceptions of this class will result in a HTTP status 409 Conflict
|
ODataException |
Base exception for all
OData -related exceptions. |
ODataForbiddenException |
Exceptions of this class will result in a HTTP status 403 forbidden
|
ODataHttpException |
ODataMessageException with a HTTP status code. |
ODataInternalServerErrorException | |
ODataMessageException |
DO NOT EXTEND THIS EXCEPTION
|
ODataMethodNotAllowedException |
Exceptions of this class will result in a HTTP status 405 (method not allowed).
|
ODataNotAcceptableException |
Exceptions of this class will result in a HTTP status 406 not acceptable
|
ODataNotFoundException |
Exceptions of this class will result in a HTTP status 404 not found
|
ODataNotImplementedException |
Exceptions of this class will result in a HTTP status 501 (Not implemented).
|
ODataPreconditionFailedException |
Exceptions of this class will result in a HTTP Status 412 Precondition Failed.
|
ODataPreconditionRequiredException |
Exceptions of this class will result in a HTTP status 428 precondition required
|
ODataRuntimeApplicationException |
This class represents a translated application runtime exception.
|
ODataServiceUnavailableException |
Exceptions of this class will result in a HTTP status 503 service unavailable
|
ODataUnsupportedMediaTypeException |
Exceptions of this class will result in a HTTP status 415 unsupported media type
|
APPLICATION DEVELOPERS: Please use ODataApplicationException
for
custom exceptions.
Exception handling:
Inside the OData library an ExceptionMapper exists which can transform any exception into an OData error format.
The ExceptionMapper behaves after the following algorithm:
1. The cause of the exception will be determined by looking into the stack trace.
1.1. If the cause is an ODataApplicationException meaning that somewhere in the stack an
ODataApplicationException is found the
ExceptionMapper will take the following information from the ApplicationException and transform it into an OData
error:
message text, Locale, Inner Error and Error Code. There will be no altering of information for the
ODataApplicationException.
1.2. If no ODataApplicationException is found in the stack the cause can be three different types of exceptions:
ODataHttpException, ODataMessageException or an uncaught RuntimeException.
The ExceptionMapper will process them in the following order: 1. ODataHttpException, 2. ODataMessageException, 3
Other Exceptions.
1.2.1. ODataHttpExceptions will be transformed as follows: If an error code is set it will be displayed. The HTTP
status code will be derived from the ODataHttpException. The message text and its language depend on the
AcceptLanguageHeaders.
The first supported language which is found in the Headers will result in the language of the message and the
response.
1.2.1. ODataMessageException will be transformed as follows: If an error code is set it will be displayed. The
HTTP status code will be 500.
The message text and its language depend on the AcceptLanguageHeaders. The first supported language which is found in
the Headers will result in the language of the message and the response.
1.2.1 Runtime Exceptions will be transformed as follows: No error code will be set. HTTP status will be 500.
Message text will be taken from the exception and the language for the response will be English as default.
Exception Hierarchy
ODataException
*
ODataApplicationException
*
ODataMessageException
**
EdmException
**
EntityProviderException
**
ExceptionVisitExpression
**
ODataHttpException
***
ODataConflictException
***
ODataForbiddenException
***
ODataMethodNotAllowedException
***
ODataNotAcceptableException
***
ODataNotImplementedException
***
ODataPreconditionFailedException
***
ODataPreconditionRequiredException
***
ODataServiceUnavailableException
***
ODataUnsupportedMediaTypeException
***
ODataNotFoundException
****
UriNotMatchingException
***
ODataBadRequestException
****
ExpressionParserException
****
UriSyntaxException
Copyright © 2013-2017 The Apache Software Foundation. All Rights Reserved.