-
-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy patherrors.sst
100 lines (71 loc) · 3 KB
/
errors.sst
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
(define e0 (~make-error "error-0")) => !ignore
(define e1 (~make-error "error-1" 1)) => !ignore
(define e2 (~make-error "error-2" 1 2)) => !ignore
(define e3 (~make-error "error-3" 1 2 3)) => !ignore
(define e4 (~make-error "error-4" 1 2 3 4)) => !ignore
(define e5 (~make-error "error-5" 1 2 3 4 5)) => !ignore
(define e6 (~make-error "error-6" 1 2 3 4 5 6)) => !ignore
(error-object? e0) => #t
(error-object? e1) => #t
(error-object? e2) => #t
(error-object? e3) => #t
(error-object? e4) => #t
(error-object? e5) => #t
(error-object? e6) => #t
(error-object-message e0) => "error-0"
(error-object-message e1) => "error-1"
(error-object-message e2) => "error-2"
(error-object-message e3) => "error-3"
(error-object-message e4) => "error-4"
(error-object-message e5) => "error-5"
(error-object-message e6) => "error-6"
(error-object-irritants e0) => '()
(error-object-irritants e1) => '(1)
(error-object-irritants e2) => '(1 2)
(error-object-irritants e3) => '(1 2 3)
(error-object-irritants e4) => '(1 2 3 4)
(error-object-irritants e5) => '(1 2 3 4 5)
(error-object-irritants e6) => '(1 2 3 4 5 6)
(~error-object-irritants->vector e0) => #()
(~error-object-irritants->vector e1) => #(1)
(~error-object-irritants->vector e2) => #(1 2)
(~error-object-irritants->vector e3) => #(1 2 3)
(~error-object-irritants->vector e4) => #(1 2 3 4)
(~error-object-irritants->vector e5) => #(1 2 3 4 5)
(~error-object-irritants->vector e6) => #(1 2 3 4 5 6)
(~error-object-irritants->values e0) => #values()
(~error-object-irritants->values e1) => #values(1)
(~error-object-irritants->values e2) => #values(1 2)
(~error-object-irritants->values e3) => #values(1 2 3)
(~error-object-irritants->values e4) => #values(1 2 3 4)
(~error-object-irritants->values e5) => #values(1 2 3 4 5)
(~error-object-irritants->values e6) => #values(1 2 3 4 5 6)
(guard 0) => 0
(~guard* 0) => 0
(guard (raise 0)) => 0
(~guard* (raise 0)) => 0
(error-object? (guard 0)) => #f
(error-object? (~guard* 0)) => #f
(error-object? (guard (raise 0))) => #f
(error-object? (~guard* (raise 0))) => #f
(error-object? (guard (error "error-x"))) => #t
(error-object? (~guard* (error "error-x"))) => #t
(~guard* e 0 e) => 0
(~guard* e (raise 0) e) => 0
(error-object? (~guard* e 0 e)) => #f
(error-object? (~guard* e (raise 0) e)) => #f
(error-object? (~guard* e (error "error-x") e)) => #t
(guard (e) 0) => 0
(guard (guard (e) (raise 0))) => 0
(error-object? (guard (guard (e) 0))) => #f
(error-object? (guard (guard (e) (raise 0)))) => #f
(error-object? (guard (guard (e) (error "error-x")))) => #t
(guard (e (#t e)) 0) => 0
(guard (e (#t e)) (raise 0)) => 0
(error-object? (guard (e (#t e)) 0)) => #f
(error-object? (guard (e (#t e)) (raise 0))) => #f
(error-object? (guard (e (#t e)) (error "error-x"))) => #t
(guard (e ((error-object? e) 1) ((eq? e 0) 2) (#t 3)) 0) => 0
(guard (e ((error-object? e) 1) ((eq? e 0) 2) (#t 3)) (raise 0)) => 2
(guard (e ((error-object? e) 1) ((eq? e 0) 2) (#t 3)) (raise 1)) => 3
(guard (e ((error-object? e) 1) ((eq? e 0) 2) (#t 3)) (error "error-x")) => 1