docs: def guarded(self, call, *args):
          """ Catch exceptions thrown by filesystem calls, and don't really
              execute them in dry-run mode.
          """
          self.LOG.debug('%s(%s)' % (
              call.__name__, ', '.join([pretty_path(i) for i in args]),
          ))
          if not self.options.dry_run:
              try:
                  call(*args)
              except (EnvironmentError, UnicodeError) as exc:
                  self.fatal('%s(%s) failed [%s]' % (
                      call.__name__, ', '.join([pretty_path(i) for i in args]), exc,
                  ))