В программе некоторые ситуации могут считаться "аварийными" -- и вести к прекращению текущего процесса. Предусмотреть все такие ситуации и написать их обработку -- важная задача.
Но есть нюанс. Ситуация может быть не абсолютно аварийной, а условно аварийной, т.е. только при определённых обстоятельствах. Кроме того, во время наладки, к примеру, может быть важно игнорировать аварийность и продолжать работу. Поэтому:
а) проверки на аварийность должны быть отключаемыми,
б) даже когда они включены, они должны НЕ срабатывать в предусмотренных для несрабатывания ситуациях.