handle(); exit(1); } /** * Handles the panic. */ private function handle(): void { try { $output = Container::getInstance()->get(OutputInterface::class); } catch (Throwable) { // @phpstan-ignore-line $output = new ConsoleOutput; } assert($output instanceof OutputInterface); if ($this->throwable instanceof Contracts\Panicable) { $this->throwable->render($output); exit($this->throwable->exitCode()); } $writer = new Writer(null, $output); $inspector = new Inspector($this->throwable); $writer->write($inspector); $output->writeln(''); exit(1); } }