+(cl:defpackage "ASSERTOID"
+ (:use "CL")
+ (:export "GRAB-CONDITION" "RAISES-ERROR?" "ASSERTOID"))
+
+(cl:in-package "ASSERTOID")
+
+(defmacro grab-condition (&body body)
+ `(nth-value 1
+ (ignore-errors ,@body)))
+
+(defmacro raises-error? (form &optional (error-subtype-spec 'error))
+ `(typep (nth-value 1 (ignore-errors ,form)) ',error-subtype-spec))