Browse Source

feat(cli): improves defer error handling

bergquist 9 years ago
parent
commit
0855f51436
1 changed files with 4 additions and 4 deletions
  1. 4 4
      pkg/cmd/grafana-cli/commands/install_command.go

+ 4 - 4
pkg/cmd/grafana-cli/commands/install_command.go

@@ -127,15 +127,15 @@ func downloadFile(pluginName, filePath, url string) (err error) {
 		if r := recover(); r != nil {
 		if r := recover(); r != nil {
 			retryCount++
 			retryCount++
 			if retryCount < 3 {
 			if retryCount < 3 {
-
 				fmt.Println("Failed downloading. Will retry once.")
 				fmt.Println("Failed downloading. Will retry once.")
-				downloadFile(pluginName, filePath, url)
+				err = downloadFile(pluginName, filePath, url)
 			} else {
 			} else {
 				failure := fmt.Sprintf("%v", r)
 				failure := fmt.Sprintf("%v", r)
 				if failure == "runtime error: makeslice: len out of range" {
 				if failure == "runtime error: makeslice: len out of range" {
-					log.Errorf("Failed to extract zipped HTTP response. Please try again.\n")
+					err = fmt.Errorf("Failed to extract zipped HTTP response. Please try again.\n")
+				} else {
+					panic(r)
 				}
 				}
-				panic(r)
 			}
 			}
 		}
 		}
 	}()
 	}()