Функция log.Fatal

Функция log.Fatal выводит сообщение об ошибке в стандартный вывод ошибок, а затем завершает работу программы с кодом 1. В первый параметр функция принимает сообщение для вывода, во второй параметр можно передать дополнительные аргументы для форматирования сообщения. Функция аналогична вызову log.Print с последующим вызовом os.Exit(1).

Синтаксис

golog.Fatal(v ...any)

Пример

Давайте выведем простое сообщение об ошибке и завершим программу:

gopackage main

import (
  "log"
)

func main() {
  log.Fatal("Fatal error occurred")
}

Результат выполнения кода:

go"2026/09/04 12:34:56 Fatal error occurred"

Пример

Давайте используем функцию для обработки ошибки при открытии файла:

gopackage main

import (
  "log"
  "os"
)

func main() {
  file, err := os.Open("nonexistent.txt")
  if err != nil {
    log.Fatal("Failed to open file:", err)
  }
  defer file.Close()
}

Результат выполнения кода:

go"2026/09/04 12:34:56 Failed to open file: open nonexistent.txt: no such file or directory"

Пример

Давайте сравним поведение log.Fatal и log.Print, чтобы увидеть разницу:

gopackage main

import (
  "log"
)

func main() {
  log.Print("This message is printed")
  log.Fatal("This message terminates the program")
  log.Print("This line will never be executed")
}

Результат выполнения кода:

go"2026/09/04 12:34:56 This message is printed"
"2026/09/04 12:34:56 This message terminates the program"

Смотрите также

  • функцию log.Print,
    которая выводит сообщение без завершения программы
  • функцию log.Println,
    которая выводит сообщение с переводом строки без завершения программы
  • функцию log.Printf,
    которая выводит форматированное сообщение без завершения программы
  • функцию log.Panic,
    которая выводит сообщение и вызывает панику