2016-02-03 22:54:02 +01:00
// Package common contains common utilities that are shared among other packages.
// See each sub-package for detail.
package common
2016-03-10 00:33:01 +01:00
2018-10-11 20:43:37 +02:00
import "v2ray.com/core/common/errors"
2018-09-30 23:08:41 +02:00
//go:generate errorgen
2017-04-09 01:43:25 +02:00
2018-10-11 20:43:37 +02:00
var (
// ErrNoClue is for the situation that existing information is not enough to make a decision. For example, Router may return this error when there is no suitable route.
ErrNoClue = errors . New ( "not enough information for making a decision" )
)
2016-12-28 00:53:29 +01:00
// Must panics if err is not nil.
func Must ( err error ) {
if err != nil {
panic ( err )
}
}
2017-09-19 23:27:49 +02:00
2018-02-21 21:42:33 +01:00
// Must2 panics if the second parameter is not nil, otherwise returns the first parameter.
func Must2 ( v interface { } , err error ) interface { } {
Must ( err )
return v
2017-09-19 23:27:49 +02:00
}
2018-04-11 16:15:29 +02:00
// Error2 returns the err from the 2nd parameter.
func Error2 ( v interface { } , err error ) error {
return err
}