Because you check validateArgs() before call runCmd() so when I run command ./application -h actually to view help it always print "Must specify a number greater than 0" in the first line of output (after than is help - actually because err != nil). I think we should add condition "!c.printUsage" in validateArgs() function to sure that user want to view help not because of wrong input.