print out quoted key with print-error-and-continue
[8sync.git] / eightsync / agenda.scm
index 27c0d7d2371feb023853372035ad7e810391622f..7ee0ec4d9dd11d24350905eabcb90f2199e18896 100644 (file)
             
             catch-8sync catch-%8sync
 
+            ;; used for introspecting the error, but a method for making
+            ;; is not exposed
+            wrapped-exception?
+            wrapped-exception-key wrapped-exception-args
+            wrapped-exception-stacks
+
             print-error-and-continue
 
             %current-agenda
@@ -512,7 +518,6 @@ return the wrong thing via (%8sync) and trip themselves up."
             ;; If something bad happened and we didn't catch it,
             ;; we'll wrap it up in such a way that the continuation
             ;; can address it
-            ;; @@: For this stack to work doesn't it have to be
             (lambda (key . args)
               (cond
                ((eq? key '8sync-caught-error)
@@ -693,10 +698,11 @@ return the wrong thing via (%8sync) and trip themselves up."
              (agenda-queue agenda))
             (loop agenda))))))
 
-(define (print-error-and-continue . args)
+(define (print-error-and-continue key . args)
   "Frequently used as pre-unwind-handler for agenda"
-  (format (current-error-port) "\n*** Caught exception with arguments: ~s ***\n"
-          args)
+  (format (current-error-port)
+          "\n*** Caught exception with key '~s and arguments: ~s ***\n"
+          key args)
   (display-backtrace (make-stack #t 1 0)
                      (current-error-port))
   (newline (current-error-port)))