예제 #1
0
func TestBuildStack(t *testing.T) {
	stack := BuildStack(note())
	if len(stack) != 4 {
		t.Errorf("len(stack) = %d != 4", len(stack))
	}
	fmt.Printf("%+v\n", stack)

	stack = BuildStack(c())
	if len(stack) != 3 {
		t.Errorf("len(stack) = %d != 3", len(stack))
	}

	stack = BuildStack(nil)
	if len(stack) != 0 {
		t.Errorf("len(stack) = %d != 0", len(stack))
	}

	stack = BuildStack(errors.New("error"))
	if len(stack) != 0 {
		t.Errorf("len(stack) = %d != 0", len(stack))
	}

	err := c()
	rollbar.ErrorWithStack(rollbar.ERR, err, BuildStack(err))
	rollbar.Wait()
}
예제 #2
0
파일: error.go 프로젝트: yannski/cli
func errorQuit(err error) {
	if errgo.Cause(err) == api.LoginAbortedErr {
		fmt.Printf("... %v\n", err)
		os.Exit(1)
	}

	if api.IsRequestFailedError(errgo.Cause(err)) {
		code := errgo.Cause(err).(*api.RequestFailedError).Code
		if code == 401 {
			session.DestroyToken()
		}
	}

	newReportError(err).Report()
	rollbar.Wait()
	io.Error("An error occured:")
	fmt.Println(io.Indent(err.Error(), 7))
	os.Exit(1)
}