Исключительные ситуации, возникающие при работе программы, можно разделить на два основных типа:синхронные и асинхронные, принципы реакции на которые существенно различаются.
· Синхронные исключения могут возникнуть только в определённых, заранее известных точках программы.Так, ошибка деления на нуль, ошибка чтения файла или коммуникационного канала — типичныесинхронные исключения, так как возникают они только в операции целочисленного деления, чтения изфайла или чтения из канала соответственно.
· Асинхронные исключения могут возникать в любой момент времени и не зависят от того, какую конкретноинструкцию программы выполняет система. Типичные примеры таких исключений: аварийный отказ питанияили поступление новых данных.