|
|
|
|
package main
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"errs"
|
|
|
|
|
"errs/stack"
|
|
|
|
|
"fmt"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func printTrace (s stack.Trace) {
|
|
|
|
|
lf := s.Frames()
|
|
|
|
|
for i,f := range lf {
|
|
|
|
|
fmt.Printf("%d file %s line %d %s\n",i,f.File,f.LineNumber,f.FuncName)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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) Unwrap () error {
|
|
|
|
|
return c.error
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func main() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
e := errs.ErrCode("Mi-Error")
|
|
|
|
|
i := errs.NewErrInfo(e,
|
|
|
|
|
errs.ErrInfoWithMessage("Esto es un mensage"),
|
|
|
|
|
errs.ErrInfoWithCause(MiCustomErr{}),
|
|
|
|
|
errs.ErrInfoWithStackTrace(2),
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//e1 := errors.New("UnError")
|
|
|
|
|
//e2 := errs.WrapWithInfo(errors.New("ElOtro error"),errs.ErrInfoWithMessage("OtroError"))
|
|
|
|
|
//e3 := errs.NewErrMulti(e1,e2)
|
|
|
|
|
|
|
|
|
|
fmt.Print(errs.ToFormat(i,nil))
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
e4 := &MiCustomErr{}
|
|
|
|
|
e5 := &MiCustomErr{}
|
|
|
|
|
|
|
|
|
|
fmt.Print(errs.ToFormat(e4,nil))
|
|
|
|
|
fmt.Print(errs.ToFormat(e5,nil))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|