code: def execute(self, *args, **options):
          
          try:
              self.handle(*args, **options)
          except CommandError, e:
              if options['debug']:
                  try:
                      import ipdb
                      ipdb.set_trace()
                  except ImportError:
                      import pdb
                      pdb.set_trace()
              sys.stderr.write(colorize('ERROR: ', fg='red'))
              self.stderr.write('%s\n' % e)
              sys.exit(1)
          except Exception, e:
              if isinstance(e, IOError) and getattr(e, 'errno') == errno.EPIPE:
                  sys.exit(0)
              if options['debug']:
                  try:
                      import ipdb
                      ipdb.set_trace()
                  except ImportError:
                      import pdb
                      pdb.set_trace()
              if options.get('traceback'):
                  import traceback
                  self.stderr.write(u'\n'.join((
                      '=========',
                      'TRACEBACK',
                      '=========', '', '',
                  )))
                  traceback.print_exc(file=self.stderr)
              sys.stderr.write(colorize('ERROR: ', fg='red'))
              self.stderr.write('%s\n' % e)
              sys.exit(1)
docs: Executes whole process of parsing arguments, running command and
          trying to catch errors.