'StarCluster main'

def main(self):

    self.handle_completion()
    self.print_header()
    (gopts, sc, opts, args) = self.parse_subcommands()
    if (args and (args[0] == 'help')):
        sc.parser.print_help()
        sys.exit(0)
    try:
        sc.execute(args)
    except (EC2ResponseError, S3ResponseError, BotoServerError) as e:
        log.error(('%s:    %s' % (e.error_code, e.error_message)), exc_info=True)
        sys.exit(1)
    except socket.error as e:
        log.exception('Connection    error:')
        log.error('Check    your    internet    connection?')
        sys.exit(1)
    except exception.ThreadPoolException as e:
        log.error(e.format_excs())
        self.bug_found()
    except exception.ClusterDoesNotExist as e:
        cm = gopts.CONFIG.get_cluster_manager()
        cls = ''
        try:
            cls = cm.get_clusters(load_plugins=False, load_receipt=False)
        except:
            log.debug('Error    fetching    cluster    list', exc_info=True)
        log.error(e.msg)
        if cls:
            taglist = ',    '.join([c.cluster_tag for c in cls])
            active_clusters = ('(active    clusters:    %s)' % taglist)
            log.error(active_clusters)
        sys.exit(1)
    except exception.BaseException as e:
        log.error(e.msg, extra={'__textwrap__': True})
        log.debug(e.msg, exc_info=True)
        sys.exit(1)
    except SystemExit:
        raise
    except Exception:
        log.error('Unhandled    exception    occured', exc_info=True)
        self.bug_found()
