diff --git a/src/main/conditions.cl b/src/main/conditions.cl index 435b7ce..504e958 100644 --- a/src/main/conditions.cl +++ b/src/main/conditions.cl @@ -44,3 +44,14 @@ this makes sense.") (report-clash-error condition stream (simple-condition-format-control condition) (simple-condition-format-arguments condition))))) + +(define-condition clash-syntax-error (clash-error) + ((fragment :initarg :fragment :reader clash-syntax-error-fragment) + (reason :initarg :reason :reader clash-syntax-error-reason)) + (:default-initargs :code +HTTP-Code-Bad-Request+) + (:report (lambda (condition stream) + (report-clash-error + condition stream + "Syntax error while parsing ~S: ~A" + (list (clash-syntax-error-fragment condition) + (clash-syntax-error-reason condition))))))