X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Ffacebook%2Ferrors%2FGraphApiException.java;h=a781c3bcc17e4c8c463752e811a65630dd62ba45;hb=0f38e3b679211b322d69fb96c717f92eca037c36;hp=1b7eaaad04a41a56ca9e37dddf3bba3286e40b9c;hpb=8079d646addc5206f64bfb213d018a2fa94444d3;p=facebook-errors diff --git a/src/main/java/de/juplo/facebook/errors/GraphApiException.java b/src/main/java/de/juplo/facebook/errors/GraphApiException.java index 1b7eaaa..a781c3b 100644 --- a/src/main/java/de/juplo/facebook/errors/GraphApiException.java +++ b/src/main/java/de/juplo/facebook/errors/GraphApiException.java @@ -1,12 +1,11 @@ package de.juplo.facebook.errors; -import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; +import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import org.slf4j.Logger; @@ -48,12 +47,15 @@ public class GraphApiException extends RuntimeException HttpHeaders headers, InputStream in ) - throws - IOException, - JsonParseException, - JsonMappingException { - return create(status, headers, OBJECT_MAPPER.readValue(in, FacebookErrorMessage.class)); + try + { + return create(status, headers, OBJECT_MAPPER.readValue(in, FacebookErrorMessage.class)); + } + catch (IOException | RuntimeException e) + { + return new ErrorResponseParsingErrorException(status, headers, e); + } } public static GraphApiException create( @@ -61,12 +63,8 @@ public class GraphApiException extends RuntimeException HttpHeaders headers, byte[] message ) - throws - IOException, - JsonParseException, - JsonMappingException { - return create(status, headers, OBJECT_MAPPER.readValue(message, FacebookErrorMessage.class)); + return create(status, headers, new ByteArrayInputStream(message)); } public static GraphApiException create( @@ -212,8 +210,9 @@ public class GraphApiException extends RuntimeException case 2200: return new CallbackVerificationFailedException(status, headers, error); default: - LOG.info("unmapped error: {}", error); - return new UnmappedErrorException(status, headers, error); + GraphApiException e = new UnmappedErrorException(status, headers, error); + LOG.info("unmapped error: {}", e.toString()); + return e; } }