erro

package
v0.0.0-...-841c510 Latest Latest
Warning

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

Go to latest
Published: Jul 7, 2015 License: Apache-2.0 Imports: 3 Imported by: 105

README

erro

スタックトレース付きエラー。

1. 使い方

エラーを投げる方では、

func g() error {
	...
	v, err := f()
	if err != nil {
		return Wrap(err)
	}
	...
}

受ける方では、

	err := g()
	if err != nil {
		switch e := Unwrap(err).(type) {
		case *net.OpError:
			...
		default:
			fmt.Fprintln(os.Stderr, err)
			return
		}
	}

こんな感じ。

2. API

GoDoc

3. ライセンス

Apache License, Version 2.0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func New

func New(a ...interface{}) error

スタックトレース付きのエラーをつくる。 素のエラーは erros.New(fmt.Sprint(a...)) でつくる。

func Unwrap

func Unwrap(err error) error

スタックトレース付きエラーだったら、素のエラーを取り出す。 そうでなければ、そのまま返す。

func Wrap

func Wrap(err error) error

スタックトレースを付加する。スタックトレースの先頭はこの関数になってしまうが、気にするな。 nil はそのまま返すので、 return Wrap(func() error) みたいな使い方もできる。 既に Wrap されている場合はそのまま返すので、毎回 Wrap しても良い。

Types

type Tracer

type Tracer struct {
	// contains filtered or unexported fields
}

スタックトレース付きエラー。

func (*Tracer) Cause

func (tr *Tracer) Cause() error

素のエラーを返す。

func (*Tracer) Error

func (tr *Tracer) Error() string

error を実装。

func (*Tracer) Stack

func (tr *Tracer) Stack() string

表示用スタックトレースを返す。

Jump to

Keyboard shortcuts

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