Files

37 lines
557 B
Go

package main
import (
"fmt"
)
type ErrorFromAnotherPackage struct{}
func (e ErrorFromAnotherPackage) Error() string {
return "error"
}
func (e ErrorFromAnotherPackage) Path() string {
return "path"
}
type FSError interface {
Path() string
}
func IsFSError(err error) bool {
_, ok := err.(FSError)
return ok
}
func getErrorFromAnotherPackage() error {
return ErrorFromAnotherPackage{}
//return fmt.Errorf("%w", ErrorFromAnotherPackage{})
}
func main() {
err := getErrorFromAnotherPackage()
if IsFSError(err) {
fmt.Println("FSError")
}
}