Skip to content

Latest commit

 

History

History
35 lines (22 loc) · 1.84 KB

README.md

File metadata and controls

35 lines (22 loc) · 1.84 KB

A Go package for handling of runtime panics

Release GoDoc  Build Status Coverage Status Go Report Card

Package calmly implements convenient runtime panic recovery and handling in Go.

Project Status

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.

Overview

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:

  • KeepCalm downgrading a panic to an error condition;
  • Escalate upgrading a panic to a fatal error;
  • Log the error, panic or fatal condition, using the appropriate logger method - presumably triggering a new panic or exiting the program.

Installation

go get github.com/agext/calmly

License

Package calmly is released under the Apache 2.0 license. See the LICENSE file for details.