MCPcopy
hub / github.com/rclone/rclone / resolveExitCode

Function resolveExitCode

cmd/cmd.go:484–517  ·  view source on GitHub ↗
(err error)

Source from the content-addressed store, hash-verified

482}
483
484func resolveExitCode(err error) {
485 ctx := context.Background()
486 ci := fs.GetConfig(ctx)
487 atexit.Run()
488 if err == nil {
489 if ci.ErrorOnNoTransfer {
490 if accounting.GlobalStats().GetTransfers() == 0 {
491 os.Exit(exitcode.NoFilesTransferred)
492 }
493 }
494 os.Exit(exitcode.Success)
495 }
496
497 switch {
498 case errors.Is(err, fs.ErrorDirNotFound):
499 os.Exit(exitcode.DirNotFound)
500 case errors.Is(err, fs.ErrorObjectNotFound):
501 os.Exit(exitcode.FileNotFound)
502 case errors.Is(err, accounting.ErrorMaxTransferLimitReached):
503 os.Exit(exitcode.TransferExceeded)
504 case errors.Is(err, fssync.ErrorMaxDurationReached):
505 os.Exit(exitcode.DurationExceeded)
506 case fserrors.ShouldRetry(err):
507 os.Exit(exitcode.RetryError)
508 case fserrors.IsNoRetryError(err), fserrors.IsNoLowLevelRetryError(err):
509 os.Exit(exitcode.NoRetryError)
510 case fserrors.IsFatalError(err):
511 os.Exit(exitcode.FatalError)
512 case errors.Is(err, errorCommandNotFound), errors.Is(err, errorNotEnoughArguments), errors.Is(err, errorTooManyArguments):
513 os.Exit(exitcode.UsageError)
514 default:
515 os.Exit(exitcode.UncategorizedError)
516 }
517}
518
519var backendFlags map[string]struct{}
520

Callers 3

runRootFunction · 0.85
RunFunction · 0.85
CheckArgsFunction · 0.85

Calls 10

GetConfigFunction · 0.92
RunFunction · 0.92
GlobalStatsFunction · 0.92
ShouldRetryFunction · 0.92
IsNoRetryErrorFunction · 0.92
IsNoLowLevelRetryErrorFunction · 0.92
IsFatalErrorFunction · 0.92
GetTransfersMethod · 0.80
ExitMethod · 0.80
IsMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…