Compare commits
No commits in common. "main" and "v0.3.1" have entirely different histories.
2 changed files with 2 additions and 25 deletions
11
try/try.go
11
try/try.go
|
@ -47,14 +47,7 @@ type call struct {
|
|||
}
|
||||
|
||||
// FromErr wraps a standard error into a try-compatible one with extended stack info.
|
||||
func FromErr(err error) Err {
|
||||
// If the error is already try-compatible, return
|
||||
//nolint:errorlint
|
||||
cterr, ok := err.(Err)
|
||||
if ok {
|
||||
return cterr
|
||||
}
|
||||
|
||||
func FromErr(err error) *tryErr {
|
||||
terr := &tryErr{err: err, callStack: []call{}}
|
||||
|
||||
pc, _, _, ok := runtime.Caller(0)
|
||||
|
@ -89,7 +82,7 @@ func FromErr(err error) Err {
|
|||
}
|
||||
|
||||
// NewErr creates a new try-compatible error with extended stack info.
|
||||
func NewErr(msg string) Err {
|
||||
func NewErr(msg string) *tryErr {
|
||||
return FromErr(errors.New(msg))
|
||||
}
|
||||
|
||||
|
|
|
@ -220,22 +220,6 @@ func TestReturnStd(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestCheckTryErr(t *testing.T) {
|
||||
testErr := NewErr("TestErr")
|
||||
|
||||
tf := func() (err Err) {
|
||||
defer Return(&err)
|
||||
Check(testErr)
|
||||
return
|
||||
}
|
||||
|
||||
err := tf()
|
||||
|
||||
if err != testErr {
|
||||
t.Fail()
|
||||
}
|
||||
}
|
||||
|
||||
func ExampleReturn() {
|
||||
var err Err
|
||||
defer Return(&err)
|
||||
|
|
Loading…
Add table
Reference in a new issue