func Throw(err error, fns ...WrapFunc) error {
	if err == nil {
		return nil
	}
	if len(fns) > 0 {
		err = Wrap.With(fns...)(err)
	}
	if err == nil {
		return nil
	}
	panic(&throw{
		err: err,
	})
}
Throw checks the error and if not nil, raise a panic which will be recovered by Handle
package e4
type throw struct {
	err error
}
func (c *throw) String() string {  
	return c.err.Error()
}
func (c *throw) Error() string {  
	return c.err.Error()
}
func (c *throw) Unwrap() error {
	return c.err
}