internalRun method

FutureOr<R> internalRun(
  1. CliLogger log,
  2. bool isVerbose,
  3. ArgResults? argResults
)

Implementation

FutureOr<R> internalRun(
    CliLogger log, bool isVerbose, ArgResults? argResults) async {
  try {
    final res = await this.execute(log, argResults);
    final logged = formatResult(CommandResult(res, argResults, log));
    if (logged != null) {
      log.log(logged);
    }
    return res as R;
  } on ArgumentError catch (e) {
    log.error('Unexpected error: ${e}');
    log.error(argParser.usage, label: false);
    return null as R;
  } catch (e, stack) {
    log.error('Unexpected error: ${e}');
    if (isVerbose) {
      print(stack);
    }
    rethrow;
  }
}