errors

package module
v0.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 17, 2019 License: MIT Imports: 1 Imported by: 14

README

errors

error handle for go

package errors_test

import (
	es "errors"
	"fmt"
	"github.com/pubgo/errors"
	"reflect"
	"testing"
	"time"
)

func TestT(t *testing.T) {
	defer errors.Assert()

	errors.T(true, "test t")
}

func TestErrLog2(t *testing.T) {
	defer errors.Resp(func(err *errors.Err) {
		errors.ErrLog(err)
	})

	errors.T(true, "test t")
}

func TestDebug(t *testing.T) {
	defer errors.Debug()

	errors.T(true, "test t")
}

func TestRetry(t *testing.T) {
	defer errors.Assert()

	errors.Wrap(errors.Retry(3, func() {
		errors.T(true, "test t")
	}), "test Retry error")
}

func TestIf(t *testing.T) {
	defer errors.Assert()

	errors.T(errors.If(true, "test true", "test false").(string) != "test true", "")
}

func TestTT(t *testing.T) {
	defer errors.Assert()

	errors.TT(true, "test tt").
		M("k", "v").
		SetTag("12").
		Done()
}

func TestWrap(t *testing.T) {
	defer errors.Assert()

	errors.Wrap(es.New("test"), "test")
}

func TestWrapM(t *testing.T) {
	defer errors.Assert()

	errors.WrapM(es.New("dd"), "test").
		Done()
}

func testFunc_2() {
	defer errors.Throw(func() {})

	errors.WrapM(es.New("testFunc_1"), "test shhh").
		M("ss", 1).
		M("input", 2).
		Done()
}

func testFunc_1() {
	defer errors.Throw(func() {})

	testFunc_2()
}

func testFunc() {
	defer errors.Throw(func() {})

	errors.Wrap(errors.Try(testFunc_1), "errors.Wrap")
}

func TestErrLog(t *testing.T) {
	defer errors.Assert()

	testFunc()
}

func init11() {
	errors.T(true, "test tt")
}

func TestT2(t *testing.T) {
	defer errors.Assert()

	init11()
}

func TestTry(t *testing.T) {
	defer errors.Assert()

	errors.Panic(errors.Try(errors.T)(true, "sss"))
}

func TestTask(t *testing.T) {
	defer errors.Assert()

	errors.Wrap(errors.Try(func() {
		errors.Wrap(es.New("dd"), "err ")
	}), "test wrap")
}

func TestHandle(t *testing.T) {
	defer errors.Assert()

	func() {
		errors.Wrap(es.New("hello error"), "sss")
	}()

}

func TestErrHandle(t *testing.T) {
	defer errors.Assert()

	errors.ErrHandle(errors.Try(func() {
		errors.T(true, "test T")
	}), func(err *errors.Err) {
		err.P()
	})

	errors.ErrHandle("ttt", func(err *errors.Err) {
		err.P()
	})
	errors.ErrHandle(es.New("eee"), func(err *errors.Err) {
		err.P()
	})
	errors.ErrHandle([]string{"dd"}, func(err *errors.Err) {
		err.P()
	})
}

func TestIsZero(t *testing.T) {
	//defer errors.Log()

	var ss = func() map[string]interface{} {
		return make(map[string]interface{})
	}

	var ss1 = func() map[string]interface{} {
		return nil
	}

	var s = 1
	var ss2 map[string]interface{}
	errors.T(errors.IsZero(reflect.ValueOf(1)), "")
	errors.T(errors.IsZero(reflect.ValueOf(1.2)), "")
	errors.T(!errors.IsZero(reflect.ValueOf(nil)), "")
	errors.T(errors.IsZero(reflect.ValueOf("ss")), "")
	errors.T(errors.IsZero(reflect.ValueOf(map[string]interface{}{})), "")
	errors.T(errors.IsZero(reflect.ValueOf(ss())), "")
	errors.T(!errors.IsZero(reflect.ValueOf(ss1())), "")
	errors.T(errors.IsZero(reflect.ValueOf(&s)), "")
	errors.T(!errors.IsZero(reflect.ValueOf(ss2)), "")
}

func TestResp(t *testing.T) {
	defer errors.Assert()

	errors.T(true, "data handle")
}

func TestTicker(t *testing.T) {
	defer errors.Assert()

	errors.Ticker(func(dur time.Time) time.Duration {
		fmt.Println(dur)
		return time.Second
	})
}

func TestRetryAt(t *testing.T) {
	errors.RetryAt(time.Second*2, func(dur time.Duration) {
		fmt.Println(dur.String())

		errors.T(true, "test RetryAt")
	})
}

func TestErr(t *testing.T) {
	errors.ErrHandle(errors.Try(func() {
		errors.ErrHandle(errors.Try(func() {
			errors.T(true, "90999 error")
		}), func(err *errors.Err) {
			errors.Wrap(err, "wrap")
		})
	}), func(err *errors.Err) {
		err.P()
	})
}

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Assert = internal.Assert
View Source
var AssertFn = internal.AssertFn

utils

View Source
var Cfg = &internal.Cfg

config

View Source
var Debug = internal.Debug
View Source
var ErrHandle = internal.ErrHandle
View Source
var ErrLog = internal.ErrLog
View Source
var ErrTagRegistry = internal.ErrTagRegistry

err tag

View Source
var ErrTags = internal.ErrTags
View Source
var ErrTagsMatch = internal.ErrTagsMatch
View Source
var FuncCaller = internal.FuncCaller
View Source
var GetCallerFromFn = internal.GetCallerFromFn
View Source
var IsNone = internal.IsNone
View Source
var IsZero = internal.IsZero
View Source
var Panic = internal.Panic

error assert

View Source
var Retry = internal.Retry
View Source
var RetryAt = internal.RetryAt
View Source
var TestRun = internal.TestRun
View Source
var Throw = internal.Throw

error handle

View Source
var Ticker = internal.Ticker

try

View Source
var TryRaw = internal.TryRaw
View Source
var WrapM = internal.WrapM

Functions

This section is empty.

Types

type Err

type Err = internal.Err

Err

type Test added in v0.3.1

type Test = internal.Test

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL