From 55ed5598e05556cdbc3c29e264aa27200d27ab8f Mon Sep 17 00:00:00 2001 From: Henrik Lindhe Date: Fri, 27 Sep 2024 09:41:07 +0200 Subject: [PATCH] Added godoc --- pkg.go | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/pkg.go b/pkg.go index 9d821e2..018ee7d 100644 --- a/pkg.go +++ b/pkg.go @@ -1,3 +1,51 @@ +/* +wrappederror provides traceable errors: + + package main + + import ( + // External + werr "git.gibonuddevalla.se/go/wrappederror" + + // Standard + "encoding/json" + "errors" + "fmt" + "os" + ) + + func errorHandler(err werr.Error) { + // For example print or log error to file + fmt.Printf("\x1b[31;1m%s\x1b[0m\n", err) + fmt.Printf("\x1b[33;1m%s\x1b[0m\n", err.NoTrace()) + + j, _ := json.MarshalIndent(err, "", " ") + fmt.Printf("%s\n\n", j) + } + + func main() { + // Make file paths relative to this file. + werr.Init() + + // Handler to call when using Log(). + werr.SetLogCallback(errorHandler) + + // Wrap an existing error. + err := errors.New("foobar 1") + err1 := werr.Wrap(err) + + // Create a new error with extra information. + err2 := werr.New("foobar 2").WithCode("FOO-100").WithData(137) + + // The os error contains more information. + _, errOS := os.ReadFile("/tmp/does_not_exist") + werr.Wrap(errOS).Log() + + // Log the previously wrapped errors. + werr.Wrap(err1).Log() + werr.Wrap(err2).Log() + } +*/ package WrappedError import (