Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Go ¶
func Go(fn interface{}, params ...interface{})
Go runs an arbitrary function fn in a separate goroutine, which does handle the recovering from panic within that goroutine. Starting a new goroutine without taking care of recovering from a possible panic in that goroutine itself could crash the whole application. The input param fn must be a generic function, where params contains the possible parameter for that function, otherwise a panic occurs. Instead of running:
go func(s string) {
panic(s)
}("Hello World")
Simply call:
Go(func(s string) {
panic(s)
}, "Hello World")
func Goroutine ¶
func Goroutine(fn interface{}) *goroutine
Goroutine creates a new panic safe goroutine, with the defaultRecoverFunc as recover function.
func SetDefaultRecoverFunc ¶
func SetDefaultRecoverFunc(fn RecoverFunc)
SetDefaultRecoverFunc can be used to override the defaultRecoverFunc which is used by Go and Goroutine functions. Note: Calling panic() within the recover function fn, will cause the application to crash if a panic within the goroutine arise.
If you pass nil as a RecoverFunc, the panic will be silently recovered.
Types ¶
type RecoverFunc ¶
type RecoverFunc func(v interface{})
The RecoverFunc type defines the signature of a recover function within a goroutine.
func GetDefaultRecoverFunc ¶
func GetDefaultRecoverFunc() RecoverFunc
GetDefaultRecoverFunc returns the current default recover function for goroutines used by the Go and Goroutine functions.