_code = $codeOverride; } parent::__construct($message, $variables, $this->_code, $previous); } public static function factory(int $code, string $message = '', ?array $variables = null, ?\Throwable $previous = null): static { $class = 'System\\Classes\\HTTP\\Exception\\HTTPException_' . $code; if (class_exists($class)) { return new $class($message, $variables, $previous); } return new static($message, $variables, $previous, $code); } public function get_response(): Response { $code = $this->_code ?: 500; http_response_code($code); $response = new Response($code); $view = Core::findFile('view/errors', (string)$code, 'html'); if ($view) { ob_start(); $message = $this->getMessage(); include $view; $response->body(ob_get_clean()); } return $response; } }