Go has a Panic(msg) function. If the panic function is called, execution of the program is stopped. The panic function has a parameter: a message to show.

You can use the panic function if a failure occurs that you don’t want or don’t know how to deal with.

Example

Introduction

In the most basic scenario, you call the panic function. Call the panic function is a simple as this code:


package main

import "fmt"

func main(){
    panic("Something went wrong")
    fmt.Println("golang")
}

In a terminal, it shows:

    $ go run demo.go
    panic: Something went wrong
    
    goroutine 1 [running]:
    main.main()
        /home/linux/z/demo.go:6 +0x39
        exit status 2

Panic function

Real life scenario: Your program needs to create a file, but you don’t want to deal with error processing.

The panic() function will make the program exit if it cannot create the file.


package main

import "os"

func main(){
    _, err := os.Create("/root/example")
    if err != nil {
        panic("Cannot create file")
    }
}           
    $ go run demo.go
    panic: Cannot create file
    
    goroutine 1 [running]:
    main.main()
        /home/linux/z/demo.go:8 +0x66
        exit status 2