Исключения Exception и их обработка - что это в Программировании

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

Далее обычно происходит следующее:

  1. "Раскрутка" стэка вызовов функций вплоть до момента, пока исключение не перехватят (в обработчике)
  2. Если обработчик для данной исключительной ситуации не найден - программа "падает" (экстеренно завершается)

В си-подобрых языках это может выглядет так (php):

try {
    $file = fopen('nonexistent.txt', 'r');
    if (!$file) {
// сами бросаем исключение, если не смогли открыть
        throw new Exception('Не удалось открыть файл');
    }

    // Работа с файлом
    fclose($file);
// Перехватываем исключение, извлекаем текст ошибки
} catch (Exception $e) {
    echo 'Ошибка: ' . $e->getMessage() . PHP_EOL;
}

-- таким образом, исключения могут являеться одним из способов управления порядоком выполнения программы/

"Исключения" в golang

В golang имеется механизм восстановления после паник, но его не рекомендуется использовать для порядка выполнения, а только чтобы сохранить саму программу "на плаву".