/**
  * Displays a human readable, partly beautified version of the given exception
  * and stops the application, return a non-zero exit code.
  *
  * @static
  * @param \Exception $exception
  * @return void
  */
 public static function writeResponseAndExit(\Exception $exception)
 {
     $response = new Response();
     $exceptionMessage = '';
     $exceptionReference = "\n<b>More Information</b>\n";
     $exceptionReference .= "  Exception code      #" . $exception->getCode() . "\n";
     $exceptionReference .= "  File                " . $exception->getFile() . ($exception->getLine() ? ' line ' . $exception->getLine() : '') . "\n";
     $exceptionReference .= $exception instanceof \TYPO3\FLOW3\Exception ? "  Exception reference #" . $exception->getReferenceCode() . "\n" : '';
     foreach (explode(chr(10), wordwrap($exception->getMessage(), 73)) as $messageLine) {
         $exceptionMessage .= "  {$messageLine}\n";
     }
     $response->setContent(sprintf("<b>Uncaught Exception</b>\n%s%s\n", $exceptionMessage, $exceptionReference));
     $response->send();
     exit(1);
 }
Beispiel #2
0
 /**
  * Starts the shutdown sequence
  *
  * @param string $runlevel Either "Compiletime" or "Runtime"
  * @return void
  */
 protected function shutdown($runlevel)
 {
     $this->bootstrap->shutdown($runlevel);
     if ($runlevel === 'Compiletime') {
         $this->objectManager->get('TYPO3\\FLOW3\\Core\\LockManager')->unlockSite();
     }
     exit($this->response->getExitCode());
 }
Beispiel #3
0
 /**
  * Sends the response and exits the CLI without any further code execution
  * Should be used for commands that flush code caches.
  *
  * @param integer $exitCode Exit code to return on exit
  * @return void
  */
 protected function sendAndExit($exitCode = 0)
 {
     $this->response->send();
     exit($exitCode);
 }