Синхронные и асинхронные исключения Java

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

1. Асинхронные и синхронные исключения

Обычно Java разделяет исключения на две категории на основе «времени» их обнаружения. Эти категории — проверяемые и непроверяемые исключения.

Аналогично, в зависимости от места возникновения, исключения Java можно разделить на две категории:

  • Синхронные исключения
  • Асинхронные исключения

2. Синхронное исключение

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

Примерами синхронных исключений являются те, с которыми мы сталкиваемся в повседневной жизни как разработчики, например, NullPointerException или ArrayIndexOutOfBoundsException и т. д.

Например, мы запускаем программу Java 'N' раз с одними и теми же входными данными. Если NullPointerException возникает в строке с номером 'M', то они будут возникать в одной и той же строке каждый раз. Это пример синхронных исключений в Java.

3. Асинхронное исключение

Асинхронные исключения могут возникнуть практически где угодно. Из этого следует, что асинхронная обработка исключений не может быть востребована компилятором. С ними также сложно программировать.

Примерами естественно асинхронных событий являются нажатие Ctrl-C для прерывания программы или получение сигнала типа «стоп» или «приостановка» от другого потока выполнения. Например, если вы нажмете 'CTRL + C' N раз во время выполнения приложения, никто не может гарантировать номер строки, на которой приложение завершится.

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

Прокрутить вверх