blob: ce96f160540d4f2c304f088150675341615010e5 (
about) (
plain)
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
|
(define-module (language python exceptions)
#:use-module (oop pf-objects)
#:use-module (oop goops)
#:export (StopIteration GeneratorExit RuntimeError
Exception ValueError TypeError
IndexError KeyError AttributeError
None))
(define-syntax-rule (aif it p x y) (let ((it p)) (if it x y)))
(define StopIteration 'StopIteration)
(define GeneratorExit 'GeneratorExit)
(define RuntimeError 'RuntimeError)
(define IndexError 'IndexError)
(define ValueError 'ValueError)
(define None 'None)
(define KeyError 'KeyError)
(define TypeError 'TypeError)
(define AttributeError 'AttributeError)
(define-python-class Exception ()
(define __init__
(case-lambda
((self)
(values))
((self str . l)
(set self 'str str))))
(define __repr__
(lambda (self)
(aif it (ref self 'str #f)
(format #f "~a:~a"
(ref self '__name__) it)
(format #f "~a"
(ref self '__name__))))))
|