         (let [waive-input-data  (read-waive-input-data request)
               parsed-waive-data (parse-waive-data waive-input-data)]
               (send-response parsed-waive-data request))
-        (catch Exception e
+        (catch Throwable e
             (let [error-message (str "Error waiving test results: " (.getMessage e))]
                 (log/error error-message)
                 (send-error-response error-message request :bad-request)))

            (assoc :product (results/job-name->product-name job-name))
            (assoc :version (results/job-name->version job-name))
            (assoc :guide   (results/job-name->book-name job-name))
            (dissoc :job_name)
            )))

(defn parse-waive-data
    [input-data]
    (let [parsed-data (if (:job_name input-data)
                          (parse-job-name input-data)
                          input-data)]
         parsed-data))

(defn waive

                 (send-error-response request :internal-server-error)))))

(defn throw-exception
    ( [message]
      (throw (new Exception message)))
    ( [message previous-exception]
      (throw (new Exception (str message (.getMessage previous-exception))))))

(defn read-waive-input-data
    [request]
