РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
665 of 1593 menu

Функция log.Panic

Функция log.Panic предназначена для аварийного завершения программы. В первый параметр мы передаем форматированную строку, во второй и последующие параметры мы передаем значения, которые подставляются в форматную строку. При вызове этой функции программа завершается с паникой, выводя сообщение и трассировку стека.

Синтаксис

log.Panic(format, a...)

Функция принимает форматную строку и переменное количество аргументов, которые подставляются в соответствии со спецификаторами формата.

Пример

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

package main import ( "log" ) func main() { log.Panic("critical error occurred") }

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

2026/09/04 15:04:05 critical error occurred panic: critical error occurred goroutine 1 [running]: log.Panic({0x4c7e88?, 0x0?}) /usr/local/go/src/log/log.go:394 +0x45 main.main() /your/path/main.go:8 +0x25 exit status 2

В выводе видно, что сообщение выводится с временной меткой, затем идет panic с тем же сообщением и трассировка стека.

Пример

Давайте используем форматирование для вывода более информативного сообщения:

package main import ( "log" ) func main() { userID := 42 log.Panic("user %d not found in database", userID) }

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

2026/09/04 15:04:05 user 42 not found in database panic: user 42 not found in database goroutine 1 [running]: log.Panic({0x4c7f78?, 0x0?}) /usr/local/go/src/log/log.go:394 +0x45 main.main() /your/path/main.go:9 +0x45 exit status 2

Как видно, спецификатор %d заменяется на переданное значение, и сообщение становится более информативным.

Пример

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

package main import ( "log" "strconv" ) func main() { value := "abc" num, err := strconv.Atoi(value) if err != nil { log.Panic("failed to convert %s to int: %v", value, err) } log.Println("converted number:", num) }

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

2026/09/04 15:04:05 failed to convert abc to int: strconv.Atoi: parsing "abc": invalid syntax panic: failed to convert abc to int: strconv.Atoi: parsing "abc": invalid syntax goroutine 1 [running]: log.Panic({0x4c80d8?, 0x0?}) /usr/local/go/src/log/log.go:394 +0x45 main.main() /your/path/main.go:12 +0xc5 exit status 2

В этом примере показан типичный сценарий использования log.Panic - когда критическая ошибка делает невозможным дальнейшее выполнение программы.

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

  • функцию log.Panicln,
    которая завершает программу с паникой, выводя сообщение с переводом строки
  • функцию log.Panicf,
    которая завершает программу с паникой, используя форматирование
  • функцию log.Fatal,
    которая завершает программу без паники
  • функцию log.Print,
    которая выводит сообщение без завершения программы
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить