Recover
Go makes it possible to recover from a panic using the built-in
recovery. A recovery can prevent a panic from aborting the program and letting it continue with execution.
An example of where this might be useful: a server would not want to crash if one of the client's connections has a critical error. Instead, the server wants to close that connection and continue serving other clients.
if r := retrieve(); r != nil {
// Handle panic here
}