protected function renderException($exception)
    {
        if ($exception instanceof UnknownCommandException) {
            // display message and suggest alternatives in case of unknown command
            $message = $this->formatMessage($exception->getName() . ': ') . $exception->command;
            $alternatives = $exception->getSuggestedAlternatives();
            if (count($alternatives) === 1) {
                $message .= "\n\nDid you mean \"" . reset($alternatives) . '"?';
            } elseif (count($alternatives) > 1) {
                $message .= "\n\nDid you mean one of these?\n    - " . implode("\n    - ", $alternatives);
            }
        } elseif ($exception instanceof Exception && ($exception instanceof UserException || !Reaction::isDebug())) {
            $message = $this->formatMessage($exception->getName() . ': ') . $exception->getMessage();
        } elseif (Reaction::isDebug()) {
            if ($exception instanceof Exception) {
                $message = $this->formatMessage("Exception ({$exception->getName()})");
            } elseif ($exception instanceof ErrorException) {
                $message = $this->formatMessage($exception->getName());
            } else {
                $message = $this->formatMessage('Exception');
            }
            $message .= $this->formatMessage(" '" . get_class($exception) . "'", [Console::BOLD, Console::FG_BLUE])
                . ' with message ' . $this->formatMessage("'{$exception->getMessage()}'", [Console::BOLD]) //. "\n"
                . "\n\nin " . dirname($exception->getFile()) . DIRECTORY_SEPARATOR . $this->formatMessage(basename($exception->getFile()), [Console::BOLD])
                . ':' . $this->formatMessage($exception->getLine(), [Console::BOLD, Console::FG_YELLOW]) . "\n";
            $trace = static::getExceptionTrace($exception, true);
            //$trace = $exception->getTraceAsString();
            $message .= "\n" . $this->formatMessage("Stack trace:\n", [Console::BOLD]) . $trace;
        } else {
            $message = $this->formatMessage('Error: ') . $exception->getMessage();
        }

        if (Reaction::isConsoleApp()) {
            Console::stderr($message . "\n");
        } else {
            echo $message . "\n";
        }
    }
protected function renderException($exception)
    {
        if ($exception instanceof UnknownCommandException) {
            // display message and suggest alternatives in case of unknown command
            $message = $this->formatMessage($exception->getName() . ': ') . $exception->command;
            $alternatives = $exception->getSuggestedAlternatives();
            if (count($alternatives) === 1) {
                $message .= "\n\nDid you mean \"" . reset($alternatives) . '"?';
            } elseif (count($alternatives) > 1) {
                $message .= "\n\nDid you mean one of these?\n    - " . implode("\n    - ", $alternatives);
            }
        } elseif ($exception instanceof Exception && ($exception instanceof UserException || !Reaction::isDebug())) {
            $message = $this->formatMessage($exception->getName() . ': ') . $exception->getMessage();
        } elseif (Reaction::isDebug()) {
            if ($exception instanceof Exception) {
                $message = $this->formatMessage("Exception ({$exception->getName()})");
            } elseif ($exception instanceof ErrorException) {
                $message = $this->formatMessage($exception->getName());
            } else {
                $message = $this->formatMessage('Exception');
            }
            $message .= $this->formatMessage(" '" . get_class($exception) . "'", [Console::BOLD, Console::FG_BLUE])
                . ' with message ' . $this->formatMessage("'{$exception->getMessage()}'", [Console::BOLD]) //. "\n"
                . "\n\nin " . dirname($exception->getFile()) . DIRECTORY_SEPARATOR . $this->formatMessage(basename($exception->getFile()), [Console::BOLD])
                . ':' . $this->formatMessage($exception->getLine(), [Console::BOLD, Console::FG_YELLOW]) . "\n";
            $trace = static::getExceptionTrace($exception, true);
            //$trace = $exception->getTraceAsString();
            $message .= "\n" . $this->formatMessage("Stack trace:\n", [Console::BOLD]) . $trace;
        } else {
            $message = $this->formatMessage('Error: ') . $exception->getMessage();
        }

        if (Reaction::isConsoleApp()) {
            Console::stderr($message . "\n");
        } else {
            echo $message . "\n";
        }
    }
protected function renderException ( $ exception ) { if ( $ exception instanceof UnknownCommandException ) { // display message and suggest alternatives in case of unknown command $ message = $ this -> formatMessage ( $ exception -> getName ( ) . ': ' ) . $ exception -> command ; $ alternatives = $ exception -> getSuggestedAlternatives ( ) ; if ( count ( $ alternatives ) === 1 ) { $ message .= "\n\nDid you mean \"" . reset ( $ alternatives ) . '"?' ; } elseif ( count ( $ alternatives ) > 1 ) { $ message .= "\n\nDid you mean one of these?\n    - " . implode ( "\n    - " , $ alternatives ) ; } } elseif ( $ exception instanceof Exception && ( $ exception instanceof UserException || ! Reaction :: isDebug ( ) ) ) { $ message = $ this -> formatMessage ( $ exception -> getName ( ) . ': ' ) . $ exception -> getMessage ( ) ; } elseif ( Reaction :: isDebug ( ) ) { if ( $ exception instanceof Exception ) { $ message = $ this -> formatMessage ( "Exception ({$exception->getName()})" ) ; } elseif ( $ exception instanceof ErrorException ) { $ message = $ this -> formatMessage ( $ exception -> getName ( ) ) ; } else { $ message = $ this -> formatMessage ( 'Exception' ) ; } $ message .= $ this -> formatMessage ( " '" . get_class ( $ exception ) . "'" , [ Console :: BOLD , Console :: FG_BLUE ] ) . ' with message ' . $ this -> formatMessage ( "'{$exception->getMessage()}'" , [ Console :: BOLD ] ) //. "\n" . "\n\nin " . dirname ( $ exception -> getFile ( ) ) . DIRECTORY_SEPARATOR . $ this -> formatMessage ( basename ( $ exception -> getFile ( ) ) , [ Console :: BOLD ] ) . ':' . $ this -> formatMessage ( $ exception -> getLine ( ) , [ Console :: BOLD , Console :: FG_YELLOW ] ) . "\n" ; $ trace = static :: getExceptionTrace ( $ exception , true ) ; //$trace = $exception->getTraceAsString(); $ message .= "\n" . $ this -> formatMessage ( "Stack trace:\n" , [ Console :: BOLD ] ) . $ trace ; } else { $ message = $ this -> formatMessage ( 'Error: ' ) . $ exception -> getMessage ( ) ; } if ( Reaction :: isConsoleApp ( ) ) { Console :: stderr ( $ message . "\n" ) ; } else { echo $ message . "\n" ; } }
Renders an exception using ansi format for console output.
@param \Exception $exception the exception to be rendered.
Renders an exception using ansi format for console output .