]> git.basschouten.com Git - openhab-addons.git/commitdiff
Handle JsonSyntaxException when parsing error messages (#13083)
authorChristoph Weitkamp <github@christophweitkamp.de>
Tue, 5 Jul 2022 11:22:46 +0000 (13:22 +0200)
committerGitHub <noreply@github.com>
Tue, 5 Jul 2022 11:22:46 +0000 (13:22 +0200)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
bundles/org.openhab.binding.groupepsa/src/main/java/org/openhab/binding/groupepsa/internal/rest/api/GroupePSAConnectApi.java

index 15bfcff264abc161087127f637b0184a3dbe23f0..815ee15c5987118d751a8b781999032506398e8d 100644 (file)
@@ -151,12 +151,15 @@ public class GroupePSAConnectApi {
 
         switch (statusCode) {
             case HttpStatus.NOT_FOUND_404:
-                ErrorObject error = gson.fromJson(response.getContentAsString(), ErrorObject.class);
-                String message = (error != null) ? error.getMessage() : null;
-                if (message == null) {
-                    message = "Unknown";
+                ErrorObject error = null;
+                try {
+                    error = gson.fromJson(response.getContentAsString(), ErrorObject.class);
+                } catch (JsonSyntaxException e) {
+                    throw new GroupePSACommunicationException("Error in received JSON: " + getRootCause(e).getMessage(),
+                            e);
                 }
-                throw new GroupePSACommunicationException(statusCode, message);
+                String message = (error == null) ? null : error.getMessage();
+                throw new GroupePSACommunicationException(statusCode, message == null ? "Unknown" : message);
 
             case HttpStatus.FORBIDDEN_403:
             case HttpStatus.UNAUTHORIZED_401: