Функция log.Fatal
Функция log.Fatal выводит сообщение об ошибке в стандартный вывод ошибок,
а затем завершает работу программы с кодом 1. В первый параметр функция принимает
сообщение для вывода, во второй параметр можно передать дополнительные аргументы
для форматирования сообщения. Функция аналогична вызову log.Print
с последующим вызовом os.Exit(1).
Синтаксис
log.Fatal(v ...any)
Пример
Давайте выведем простое сообщение об ошибке и завершим программу:
package main
import (
"log"
)
func main() {
log.Fatal("Fatal error occurred")
}
Результат выполнения кода:
"2026/09/04 12:34:56 Fatal error occurred"
Пример
Давайте используем функцию для обработки ошибки при открытии файла:
package 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()
}
Результат выполнения кода:
"2026/09/04 12:34:56 Failed to open file: open nonexistent.txt: no such file or directory"
Пример
Давайте сравним поведение log.Fatal и log.Print, чтобы увидеть разницу:
package 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")
}
Результат выполнения кода:
"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,
которая выводит сообщение и вызывает панику