Browse Source

make the error not be overrided

Jackson Tian 7 years ago
parent
commit
cf4272ab6b
1 changed files with 5 additions and 2 deletions
  1. 5 2
      sdk/endpoints/resolver.go

+ 5 - 2
sdk/endpoints/resolver.go

@@ -48,9 +48,12 @@ type Resolver interface {
 func Resolve(param *ResolveParam) (endpoint string, err error) {
 	supportedResolvers := getAllResolvers()
 	var lastErr error
-	var supported bool
 	for _, resolver := range supportedResolvers {
-		endpoint, supported, lastErr = resolver.TryResolve(param)
+		endpoint, supported, resolveErr := resolver.TryResolve(param)
+		if resolveErr != nil {
+			lastErr = resolveErr
+		}
+
 		if supported {
 			debug("resolve endpoint with %s\n", param)
 			debug("\t%s by resolver(%s)\n", endpoint, resolver.GetName())