Function panic and recovery
Earlier in the chapter, it was stated that Go does not have the traditional exception mechanism offered by other languages. Nevertheless, in Go, there is a way to abruptly exit an executing function known as function panic. Conversely, when a program is panicking, Go provides a way of recovering and regaining control of the execution flow.
Function panic
During execution, a function may panic because of any one of following:
- Explicitly calling the panic built-in function
- Using a source code package that panics due to an abnormal state
- Accessing a nil value or an out-of-bound array element
- Concurrency deadlock
When a function panics, it aborts and executes its deferred calls. Then its caller panics, causing a chain reaction ...
Get Go: Design Patterns for Real-World Projects now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.