Package calmly implements convenient runtime panic recovery and handling in Go.
v1.0.1 Stable: Guaranteed no breaking changes to the API in future v1.x releases. Probably safe to use in production, though provided on "AS IS" basis.
This package is being actively maintained. If you encounter any problems or have any suggestions for improvement, please open an issue. Pull requests are welcome.
When a panic condition needs to be handled by the program (rather than crashing it), wrap the code that can trigger such condition in a Try, which allows you to Catch the panic for further processing.
The Outcome of a Tryed code also offers convenience methods to:
KeepCalmdowngrading a panic to an error condition;Escalateupgrading a panic to a fatal error;Logthe error, panic or fatal condition, using the appropriate logger method - presumably triggering a new panic or exiting the program.
go get github.com/agext/calmly
Package calmly is released under the Apache 2.0 license. See the LICENSE file for details.