Некоторые виды исключений в программировании:
- Синхронные. ru.wikipedia.org Могут возникнуть только в определённых, заранее известных точках программы. ru.wikipedia.org Например, ошибка чтения файла или коммуникационного канала, нехватка памяти. ru.wikipedia.org
- Асинхронные. ru.wikipedia.org Могут возникать в любой момент времени и не зависят от того, какую конкретно инструкцию программы выполняет система. ru.wikipedia.org Типичные примеры таких исключений: аварийный отказ питания или поступление новых данных. ru.wikipedia.org
- Серьёзные ошибки. ru.wikipedia.org Это серьёзные ошибки, которые в обычных условиях не следует обрабатывать программой. ru.wikipedia.org Они могут возникать как во внешней относительно программы среде, так и внутри неё. ru.wikipedia.org
- Исключения времени выполнения. ru.wikipedia.org Возникают из-за логических ошибок разработчика или недостаточности проверок в коде. ru.wikipedia.org Например, ошибка обращения по неинициализированному (нулевому) указателю. ru.wikipedia.org
Также в языке C++ есть ещё несколько производных типов исключений, например: runtimeerror (общий тип исключений, которые возникают во время выполнения), rangeerror (исключение, которое возникает, когда полученный результат превосходит допустимый диапазон) и другие. metanit.com