Skip to content
/ calmly Public

Runtime panic recovery and handling (try/catch and more) in Go (golang)

License

Notifications You must be signed in to change notification settings

agext/calmly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.