source: project/release/3/logging/trunk/logging-errors.scm @ 9139

Last change on this file since 9139 was 9139, checked in by Kon Lovett, 12 years ago

Fix for e-mail uri query processing. Cosmetic chgs.

File size: 1.1 KB
Line 
1;;;; logging-errors.scm
2;;;; Kon Lovett, Sep '06
3
4(eval-when (compile)
5  (declare
6        (fixnum)
7        (inline)
8        (export
9                log$make-errors-condition
10                log$error
11                log$make-errors
12                log$errors) ) )
13
14(use srfi-1 srfi-12)
15
16;;; Exceptions
17
18;;
19
20(define (log$make-exn-condition loc msg . args)
21  (make-property-condition 'exn 'message msg 'location loc 'arguments args) )
22
23(define (log$make-error-condition loc msg . args)
24        (make-composite-condition
25                (apply log$make-exn-condition loc msg args)
26                (make-property-condition 'logger)) )
27
28(define (log$make-errors-condition loc msg errors . args)
29        (make-composite-condition
30                (apply log$make-exn-condition loc msg args)
31                (make-property-condition 'logger 'errors errors)) )
32
33;;
34
35(define (log$error loc msg . args)
36        (abort (apply log$make-error-condition loc msg args)) )
37
38(define (log$errors loc msg errors . args)
39        (abort (apply log$make-errors-condition loc msg errors args)) )
40
41;;
42
43(define (log$make-errors)
44        (let ([errors '()])
45                (lambda args
46                        (if (null? args)
47          errors
48          (set! errors (alist-cons (car args) (cadr args) errors))) ) ) )
Note: See TracBrowser for help on using the repository browser.