A panic is an exception in Go


Panics are similar to C++ and Java exceptions, but are only intended for run-time errors, such as following a nil pointer or attempting to index an array out of bounds. To signify events such as end-of-file, Go programs use the built-in error type.

A panic stops the normal execution of a goroutine. When a program panics, it immediately starts to unwind the call stack. This continues until the program crashes and prints a stack trace, or until the built-in recover function is called. See Recover from a panic for details.

A panic is caused either by a runtime error, or an explicit call to the built-in panic function.

Further reading

Error handling explained