MindSphere SDK for Java - Exception Handling¶
Understanding how and when the MindSphere SDK for Java throws exceptions is important to build high-quality applications using the SDK. The following sections describe the different scenarios in which exceptions are thrown by the SDK and how to handle them appropriately.
MindsphereException is the most common exception that you'll experience when using the MindSphere SDK for Java. This exception represents an error response from a MindSphere service.
MindsphereException provides you with information such as:
- Returned HTTP status
- Returned HTTP status Code
- Detailed error message from the service
- Reference to the error occurred
Structure of MindsphereException¶
|errorStatusCode||Error code (if returned by API)||String|
|logref||Logger reference (if returned by API)||String|
|cause||Cause of the exception (if any)||Throwable|
Subclasses of MindsphereException¶
MindsphereClientException is a subclass of MindsphereException. It is thrown when an error occurs due to user's fault (a request with missing values). For example, if user tries to call an API with null values for mandatory parameters then MindsphereClientException is thrown to indicate that required parameters are missing.
MindsphereServiceException is a subclass of MindsphereException. It is thrown when an error occurs at the API endpoint. For example, if user tries to call an API with invalid values for mandatory parameters. A MindsphereServiceException is thrown only when an error is encountered at the API endpoint.
MindsphereClientConfigurationException is a subclass of MindsphereClientException. It is thrown when incorrect configuration parameters are set. For example, if a developer uses an incorrect value for the proxy, MindsphereClientConfigurationException is thrown to indicate that incorrect proxy host or proxy port.
MindsphereForbiddenAccessException is a subclass of MindsphereClientException. It is thrown when valid token is not retrieved with the provided credentials.
Any questions left?
Except where otherwise noted, content on this site is licensed under the Development License Agreement.