 Otherwise the response is probably an exception."
   (if (and (not (vectorp results))
            (assq 'exception results))
-      (ycmd--handle-exception results)
+      (ycmd--handle-exception "NotifyParse" results)
     (ycmd--report-status 'parsed)
     (run-hook-with-args 'ycmd-file-parse-result-hook results)))
 

            (when result
              (if (and (not (vectorp result))
                       (assq 'exception result))
                  (ycmd--handle-exception result)
                (when success-handler
                  (funcall success-handler result))))))))))


       :parser 'json-read
       :sync sync))))

(defun ycmd--handle-exception (request-type result)
  "Handle exception for REQUEST-TYPE in completion RESULT.

This function handles `UnknownExtraConf', `ValueError' and
`RuntimeError' exceptions."
  (let-alist result
    (pcase .exception.TYPE
      ("UnknownExtraConf"
       (ycmd--handle-extra-conf-exception .exception.extra_conf_file))
      ((or "ValueError" "RuntimeError")
       (ycmd--handle-error-exception .message))))
  (run-hook-with-args 'ycmd-after-exception-hook request-type result))

(defun ycmd--send-request (type success-handler)
  "Send a request of TYPE to the `ycmd' server.
