You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

102 lines
1.5 KiB

3 years ago
package main
import (
"errors"
"errs"
"errs/stack"
3 years ago
"fmt"
)
func printTrace (s stack.Trace) {
3 years ago
lf := s.Frames()
for i,f := range lf {
fmt.Printf("%d file %s line %d %s\n",i,f.File,f.LineNumber,f.FuncName)
}
3 years ago
}
func GenerateBinaryString() string {
binaryString := ""
for c := 0; c < 255; c++ {
if ('a' <= byte(c) && byte(c) <= 'z') || ('A' <= byte(c) && byte(c) <= 'Z') || byte(c) == '@' {
binaryString += "1"
} else {
binaryString += "0"
}
}
return binaryString
}
type (
MiCustomErr struct {
error
ms string
}
)
func (c MiCustomErr) Message() string {
return "esto es un custom werro"
}
/*
func fm (b *bytes.Buffer, e error, l int) {
b.WriteString("Link :"+e.(MiCustomErr).Link+"\n")
}
*/
func (c MiCustomErr) Error () string {
return "ERRRROPROO"
}
func (c MiCustomErr) Unwrap () error {
return c.error
}
3 years ago
func main() {
3 years ago
e := errs.ErrCode("Mi-Error")
i := errs.NewErrInfo(e,
errs.ErrInfoWithMessage("Esto es un mensage"),
errs.ErrInfoWithCause(MiCustomErr{}),
errs.ErrInfoWithStackTrace(2),
)
ne := i.WrapWithCause(errors.New("UnNuevoErrrorrrr"))
e1 := errors.New("UnError")
e2 := errs.WrapWithInfo(errors.New("ElOtro error"),errs.ErrInfoWithMessage("OtroError"))
e3 := errs.NewErrMulti(e1,e2)
e4 := &MiCustomErr{}
e5 := &MiCustomErr{}
me := errs.NewErrMulti(e3,e4,e5,ne).WrapWithInfo(errs.ErrInfoWithMessage("Es0"))
fmt.Print(errs.ToFormat(me,nil))
/*
fmt.Print(errs.ToFormat(e4,nil))
fmt.Print(errs.ToFormat(e5,nil))
*/
3 years ago
}

Powered by TurnKey Linux.