Я получаю доступ к внешнему API и ожидаю получить изображение в ответ (byte[]
).Мой метод, который подключается к этой конечной точке, выглядит следующим образом:
private byte[] retrieveImage(String uri) {
byte[] imageBytes = null;
try {
URL url = new URL(uri);
BufferedImage bufferedImage = ImageIO.read(url);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(image, "png", baos);
imageBytes = baos.toByteArray();
} catch (Exception ex) {
throw new ImageNotReadException(ex.getLocalizedMessage());
}
return imageBytes;
}
Оказалось, что если я передаю неверные параметры целевой конечной точке, я получаю это сообщение об ошибке:
Так что в основном я хотел бы throw
ту же ошибку выше, но я также хотел бы throw
ImageNotReadException
(java.lang.IllegalArgumentException: image == null!
) в случае, если программа не может прочитать изображение (byte[]
),Таким образом, мой метод private byte[] retrieveImage(String uri)
должен был бы выдать исключение моего считываемого изображения и исключение ответа конечной точки.
Есть какие-нибудь советы?Ценю помощь!