1. Обзор
В этом руководстве мы расскажем, как создать пользовательское исключение в Java.
Мы покажем, как пользовательские исключения реализованы и используются как для проверенных, так и для непроверенных исключений.
Jackson — это широко используемая библиотека Java, которая позволяет нам удобно сериализовать/десериализовать JSON или XML.
Иногда мы можем столкнуться с « java.lang.ClassCastException: java.util.LinkedHashMap не может быть приведен к X
», когда пытаемся десериализовать JSON или XML в набор объектов.
В этом уроке мы обсудим, почему может возникнуть упомянутое исключение и как решить проблему.
В Java создание копии списка
иногда может привести к исключению IndexOutOfBoundsException: «Источник не соответствует назначению».
В этом кратком руководстве мы рассмотрим, почему мы получаем эту ошибку при использовании метода Collections.copy
и как ее можно решить. Мы также рассмотрим альтернативы Collections.copy
для создания копии списка.
Начнем с метода создания копии списка
с помощью метода Collections.copy
:
static List<Integer> copyList(List<Integer> source) {
List<Integer> destination = new ArrayList<>(source.size());
Collections.copy(destination, source);
return destination;
}
В этом кратком руководстве мы обсудим некоторые возможные причины java.net.ConnectException
. Затем мы покажем, как проверить соединение с помощью двух общедоступных команд и небольшого примера Java.
исключение java.net.ConnectException
Исключение java.net.ConnectException
является одним из наиболее распространенных исключений Java, связанных с сетью. Мы можем столкнуться с этим, когда устанавливаем TCP-соединение от клиентского приложения к серверу. Поскольку это проверенное исключение, мы должны правильно обрабатывать его в нашем коде в блоке try-catch
.
Есть много возможных причин этого исключения:
В этом кратком руководстве мы рассмотрим причины SocketException
на примере.
Мы также, конечно, обсудим, как обрабатывать исключение.
исключения SocketException
Наиболее распространенной причиной SocketException
является запись или чтение данных в или из закрытого соединения сокета . Другой причиной этого является закрытие соединения до чтения всех данных в буфере сокета.
В этом кратком руководстве мы обсудим новый класс ResponseStatusException
, представленный в Spring 5. Этот класс поддерживает применение кодов состояния HTTP к ответам HTTP.
Приложение RESTful может сообщать об успешном или неудачном выполнении HTTP-запроса, возвращая правильный код состояния в ответе клиенту . Проще говоря, соответствующий код состояния может помочь клиенту определить проблемы, которые могли возникнуть во время обработки запроса приложением.
Статус ответа
Прежде чем мы углубимся в ResponseStatusException,
давайте быстро взглянем на аннотацию @ResponseStatus
. Эта аннотация была введена в Spring 3 для применения кода состояния HTTP к ответу HTTP .
В среде Spring возникает исключение MaxUploadSizeExceededException
, когда приложение пытается загрузить файл, размер которого превышает определенный порог, указанный в конфигурации.
В этом уроке мы рассмотрим, как указать максимальный размер загрузки. Затем мы покажем простой контроллер загрузки файлов и обсудим различные методы обработки этого исключения.
По умолчанию размер загружаемых файлов не ограничен. Чтобы установить максимальный размер загрузки, вы должны объявить bean-компонент типа MultipartResolver
.
Общим требованием в любом веб-приложении являются настраиваемые страницы ошибок.
Например, предположим, что вы используете ванильное приложение Spring MVC поверх Tomcat. Пользователь вводит неверный URL-адрес в своем браузере и показывает не очень удобную бело-голубую трассировку стека — не идеальный вариант.
В этом руководстве мы настроим настраиваемые страницы ошибок для нескольких кодов ошибок HTTP.
Рабочее предположение состоит в том, что читателю достаточно удобно работать с Spring MVC; если нет, то это отличный способ начать .
Эта статья посвящена Spring MVC. В нашей статье « Настройка страницы ошибок Whitelabel » описывается, как создать пользовательскую страницу ошибок в Spring Boot.
В этом кратком руководстве мы сосредоточимся на ClassCastException
, распространенном исключении Java .
ClassCastException
— это непроверенное исключение , которое сигнализирует о том, что код попытался привести ссылку к типу, подтипом которого он не является .
Давайте рассмотрим некоторые сценарии, которые приводят к возникновению этого исключения, и то, как мы можем их избежать.
Исключения в Java используются, чтобы сигнализировать о том, что в программе что-то пошло не так. Помимо создания исключения, мы можем даже добавить сообщение для предоставления дополнительной информации.
В этой статье мы воспользуемся методом getLocalizedMessage
для предоставления сообщений об исключениях на английском и французском языках.
Нам нужен способ поиска сообщений с использованием messageKey
для идентификации сообщения и Locale
для определения того, какой перевод предоставит значение для messageKey
. Мы создадим простой класс для абстрагирования доступа к нашему ResourceBundle
для получения переводов сообщений на английский и французский языки: