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

Функция log.Panicln

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

Синтаксис

log.Panicln(message)

Пример

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

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

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

2026/01/15 10:30:45 critical error occurred panic: critical error occurred goroutine 1 [running]: log.Panicln(0x...) /usr/local/go/src/log/log.go:... +0x... main.main() /tmp/sandbox/prog.go:8 +0x...

Пример с использованием fmt.Println

Давайте сравним поведение log.Panicln и fmt.Println:

package main import ( "fmt" "log" ) func main() { fmt.Println("This message will be printed") log.Panicln("This message will be logged and cause panic") fmt.Println("This message will never be printed") }

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

This message will be printed 2026/01/15 10:30:45 This message will be logged and cause panic panic: This message will be logged and cause panic goroutine 1 [running]: log.Panicln(0x...) /usr/local/go/src/log/log.go:... +0x... main.main() /tmp/sandbox/prog.go:10 +0x...

Как видно из примера, после вызова log.Panicln программа завершается с паникой, и последующий код не выполняется.

Пример с обработкой паники

Давайте перехватим панику с помощью recover:

package main import ( "fmt" "log" ) func main() { defer func() { if r := recover(); r != nil { fmt.Println("Recovered from panic:", r) } }() log.Panicln("panic with custom message") fmt.Println("This will not be executed") }

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

2026/01/15 10:30:45 panic with custom message Recovered from panic: panic with custom message

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

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