Перейти к основному содержимому

82 записи с тегом "Exception"

Посмотреть все теги

· 3 мин. чтения

1. Обзор

В этой короткой статье мы подробно рассмотрим исключение Spring «HttpMessageNotWritableException: нет преобразователя для [класса…] с предустановленным Content-Type» .

Во-первых, мы прольем свет на основную причину исключения. Затем мы спустимся в кроличью нору, чтобы увидеть, как воспроизвести ее на практическом примере и, наконец, как ее решить.

2. Причина

Прежде чем углубляться в детали, давайте попробуем понять, что означает исключение.

· 7 мин. чтения

1. Введение

В этом руководстве мы рассмотрим InterruptedException в Java . Во-первых, мы быстро пройдемся по жизненному циклу потока с иллюстрацией. Далее мы увидим, как работа в многопоточных приложениях потенциально может вызвать InterruptedException . Наконец, мы увидим, как обрабатывать это исключение.

2. Основы многопоточности

Прежде чем обсуждать прерывания, давайте рассмотрим многопоточность. Многопоточность — это процесс одновременного выполнения двух или более потоков. Приложение Java начинается с одного потока, называемого основным потоком, связанного с методом main() . Затем этот основной поток может запускать другие потоки.

Потоки легковесны, что означает, что они выполняются в одном и том же пространстве памяти. Следовательно, они могут легко общаться между собой. Давайте посмотрим на жизненный цикл потока :

· 2 мин. чтения

1. Обзор

В этой статье мы кратко рассмотрим класс Throwables Google Guava.

Этот класс содержит набор статических служебных методов для обработки исключений и:

  • распространение
  • обработка цепочки причин

2. Зависимость от Maven

· 4 мин. чтения

1. Обзор

В этом руководстве мы увидим, что заставляет Java создавать экземпляр исключения UndeclaredThrowableException .

Во-первых, мы начнем с немного теории. Затем мы попытаемся лучше понять природу этого исключения на двух примерах из реальной жизни.

2. Исключение UndeclaredThrowableException

Теоретически Java будет генерировать экземпляр UndeclaredThrowableException , когда мы пытаемся генерировать необъявленное проверенное исключение . То есть мы не объявляли проверяемое исключение в предложении throws , а выбрасываем это исключение в теле метода.

· 4 мин. чтения

1. Обзор

В этой короткой статье мы рассмотрим, почему мы можем видеть неизвестный источник в нашей трассировке стека исключений Java и как мы можем это исправить.

2. Информация об отладке класса

Файл класса Java содержит необязательную отладочную информацию для облегчения отладки. Во время компиляции мы можем выбрать, будет ли и какая вся отладочная информация добавляться в файлы классов. Это определит, какая отладочная информация будет доступна во время выполнения.

Давайте изучим справочную документацию компилятора Java, чтобы увидеть различные доступные параметры:

· 3 мин. чтения

1. Обзор

В этой статье мы покажем причину NoSuchFieldError и узнаем, как ее устранить.

2. Ошибка НоСучФилд

Как следует из названия, NoSuchFieldError возникает, когда указанное поле не существует. NoSuchFieldError расширяет класс IncompiledClassChangeError и вызывается, когда приложение пытается получить доступ или изменить поле объекта или статическое поле класса, но в объекте или классе больше нет этого поля .

` Класс IncompileClassChangeError расширяет класс [LinkageError](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/LinkageError.html) и возникает, когда мы вносим несовместимые изменения в определение класса. Наконец, LinkageError расширяет Error` и показывает, что класс имеет некоторую зависимость от другого несовместимо измененного класса.

· 4 мин. чтения

1. Обзор

В этом кратком руководстве мы узнаем о java.lang.IllegalMonitorStateException.

Мы создадим простое приложение отправитель-получатель, которое генерирует это исключение. Затем мы обсудим возможные способы предотвращения этого. Наконец, мы покажем, как правильно реализовать эти классы отправителя и получателя.

2. Когда его бросают?

Исключение IllegalMonitorStateException связано с многопоточным программированием в Java. Если у нас есть монитор , на котором мы хотим синхронизироваться, это исключение генерируется, чтобы указать, что поток пытался ждать или уведомить другие потоки, ожидающие на этом мониторе, не владея им. Проще говоря, мы получим это исключение, если вызовем один из методов wait() , notify( ) или notifyAll() класса Object за пределами синхронизированного блока.

· 2 мин. чтения

1. Обзор

В этой быстрой статье мы рассмотрим исключение HttpMediaTypeNotAcceptableException и поймем, в каких случаях мы можем с ним столкнуться.

2. Проблема

При реализации конечной точки API с помощью Spring нам обычно необходимо указывать типы потребляемых/производимых носителей (с помощью параметров потребления и производства ). Это сужает возможные форматы, которые API будет возвращать клиенту для этой конкретной операции.

HTTP также имеет специальный заголовок «Accept» , который используется для указания типов мультимедиа, которые клиент распознает и может принять. Проще говоря, сервер отправит обратно представление ресурса, используя один из типов мультимедиа, запрошенных клиентом.

· 2 мин. чтения

1. Обзор

Advanced Encryption Standard ( AES) — это широко используемый алгоритм симметричного блочного шифрования. Вектор инициализации (IV) играет важную роль в алгоритме AES.

В этом руководстве мы объясним, как сгенерировать IV в Java. Кроме того, мы опишем , как избежать исключения InvalidAlgorithmParameterException , когда мы генерируем IV и используем его в алгоритме шифрования .

2. Вектор инициализации

Алгоритм AES обычно имеет три входа: открытый текст, секретный ключ и IV. Он поддерживает секретные ключи длиной 128, 192 и 256 бит для шифрования и расшифровки данных блоками по 128 бит. На рисунке ниже показаны входы AES:

· 5 мин. чтения

1. Обзор

В этом руководстве мы рассмотрим несколько способов обработки исключений в Project Reactor . Операторы, представленные в примерах кода, определены как в классах Mono , так и в классах Flux . Однако мы сосредоточимся только на методах класса Flux .

2. Зависимости Maven

Начнем с добавления зависимости ядра Reactor :

<dependency>
<groupId>io.projectreactor</groupId>
<artifactId>reactor-core</artifactId
<version>3.4.9</version>
</dependency>