github.com/Axway/agent-sdk@v1.1.101/pkg/util/panichandler.go (about) 1 package util 2 3 import ( 4 "fmt" 5 "reflect" 6 "strings" 7 8 "github.com/Axway/agent-sdk/pkg/util/log" 9 ) 10 11 // HandleInterfaceFuncNotImplemented - use this function to recover from a panic due to an interface not being implemented 12 func HandleInterfaceFuncNotImplemented(obj interface{}, funcName, interfaceName string) { 13 if interfaceObj := recover(); interfaceObj != nil { 14 errStr := fmt.Sprintf("%v", interfaceObj) 15 16 // an interface problem will contain this string... 17 if strings.Contains(errStr, "nil pointer dereference") { 18 log.Warnf("The function '%s' for interface '%s' is not implemented in %s.", funcName, interfaceName, reflect.TypeOf(obj).String()) 19 } 20 } 21 }