Beispiel #1
0
// MultiStack returns the best possible stack.Multi from the error or nil if
// one isn't found.
func MultiStack(err error) *stack.Multi {
	switch err := err.(type) {
	case *singleFrameError:
		var m stack.Multi
		m.Add(stack.Stack{err.frame})
		return &m
	case *singleStackError:
		var m stack.Multi
		m.Add(err.stack)
		return &m
	case *multiStackError:
		return err.multiStack
	}
	return nil
}