I also make my own. Since I deal a lot with PDO, I also check if exception is PDO and add some details.
Output is not pretty, but it is meant for developer and nobody else.
static function FormatException($exception, $level = 0)
        {
            $result = "";
            $result = sprintf('<div style="padding-left:%dpx">', $level * 20);
            $result .= sprintf("<div><b>Message: </b> %s</div>", $exception->getMessage());
            $result .= sprintf("<div><b>Code: </b> %s</div>", $exception->getCode());
            $result .= sprintf("<div><b>File: </b> %s</div>", $exception->getFile());
            $result .= sprintf("<div><b>Line: </b> %s</div>", $exception->getLine());
            $result .= sprintf("<div><b>Trace: </b></div>");
            $result .= sprintf('<div style="padding-left: 20px;">');
            foreach ($exception->getTrace() as $trace)
            {
                $result .= sprintf('<div style="border: 1px solid #000;margin-top: 10px;">');
                $result .= sprintf("<div><b>File: </b> %s</div>", $trace['file']);
                $result .= sprintf("<div><b>Line: </b> %s</div>", $trace['line']);
                $result .= sprintf("<div><b>Function: </b> %s</div>", $trace['function']);
                $result .= sprintf("<div><b>Class: </b> %s</div>", $trace['class']);
                $result .= sprintf("<div><b>Type: </b> %s</div>", $trace['type']);
                $result .= sprintf("<div><b>Args: </b></div>");
                $result .= sprintf('<div style="padding-left: 20px;">');
                foreach ($trace['args'] as $arg)
                    $result .= sprintf("<div><b>Arg: </b>%s</div>", json_encode($arg));
                $result .= sprintf("</div>");
                $result .= sprintf("</div>");
            }
            $result .= sprintf("</div>");
            if (get_class($exception) === "PDOException")
            {
                $result .= sprintf("<br />");
                $result .= sprintf("<div><b>PDO: </b></div>");
                $result .= sprintf('<div style="padding-left: 20px;">');
                $result .= sprintf("<div><b>Code: </b> %s</div>", $exception->errorInfo[0]);
                $result .= sprintf("<div><b>Driver code: </b> %s</div>", $exception->errorInfo[1]);
                $result .= sprintf("<div><b>Message: </b> %s</div>", $exception->errorInfo[2]);
                $result .= sprintf("</div>");
            }
            $prev = $exception->getPrevious();
            if (isset($prev))
                $result .= self::FormatException($prev, $level++);
            $result .= sprintf("</div>");
            $result .= sprintf("<br />");
            return $result;
        }