def run(self, input_=None, output_=None):
        if input_ is None:
            input_ = ArgvInput()

        if output_ is None:
            output_ = ConsoleOutput()

        self.configure_io(input_, output_)

        try:
            status_code = self.do_run(input_, output_)
        except Exception as e:
            if not self._catch_exceptions:
                raise

            if isinstance(output_, ConsoleOutput):
                self.render_exception(e, output_.get_error_output())
            else:
                self.render_exception(e, output_)

            if isinstance(e, CleoException):
                status_code = e.code
            else:
                status_code = e.errno if hasattr(e, 'errno') else 1

            if status_code == 0:
                status_code = 1

        if self._auto_exit:
            if status_code > 255:
                status_code = 255

            exit(status_code)

        return status_code
Runs the current application
dataset/ETHPy150Open sdispater/cleo/cleo/application.py/Application.run