В этом руководстве по Java вы узнаете об асинхронных и синхронных исключениях в Java. Также вы узнаете, чем они отличаются от проверенных и непроверенных исключений.
1. Асинхронные и синхронные исключения
Обычно Java разделяет исключения на две категории на основе «времени» их обнаружения. Эти категории — проверяемые и непроверяемые исключения.
Аналогично, в зависимости от места возникновения, исключения Java можно разделить на две категории:
- Синхронные исключения
- Асинхронные исключения
2. Синхронное исключение
Синхронные исключения возникают в определенном операторе программы, независимо от того, сколько раз мы запускаем программу в одной и той же среде выполнения.
Примерами синхронных исключений являются те, с которыми мы сталкиваемся в повседневной жизни как разработчики, например, NullPointerException или ArrayIndexOutOfBoundsException и т. д.
Например, мы запускаем программу Java 'N' раз с одними и теми же входными данными. Если NullPointerException возникает в строке с номером 'M', то они будут возникать в одной и той же строке каждый раз. Это пример синхронных исключений в Java.
3. Асинхронное исключение
Асинхронные исключения могут возникнуть практически где угодно. Из этого следует, что асинхронная обработка исключений не может быть востребована компилятором. С ними также сложно программировать.
Примерами естественно асинхронных событий являются нажатие Ctrl-C для прерывания программы или получение сигнала типа «стоп» или «приостановка» от другого потока выполнения. Например, если вы нажмете 'CTRL + C' N раз во время выполнения приложения, никто не может гарантировать номер строки, на которой приложение завершится.
Надеюсь, что это обсуждение синхронных и асинхронных исключений Java поможет вам в программировании и на собеседованиях по Java.