blob: 990f9c31bc3254438629c0156eabf5f5997bc532 (
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
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
100
101
102
103
104
105
106
|
(define-module (language python exceptions)
#:use-module (oop pf-objects)
#:use-module (oop goops)
#:export (StopIteration GeneratorExit RuntimeError
Exception ValueError TypeError
IndexError KeyError AttributeError ArgumentError
SyntaxError SystemException
OSError ProcessLookupError PermissionError
None NotImplemented NotImplementedError
RunTimeError AssertionError ImportError
ModuleNotFoundError BlockingIOError
InterruptedError BaseException
ZeroDivisionError ArithmeticError
OverflowError RecursionError
Warning DeprecationWarning BytesWarning))
(define-syntax-rule (aif it p x y) (let ((it p)) (if it x y)))
(define-python-class Exception ()
(define __init__
(case-lambda
((self)
(values))
((self val . l)
(set self 'value val))))
(define __repr__
(lambda (self)
(aif it (rawref self 'value #f)
(format #f "~a:~a"
(rawref self '__name__) it)
(format #f "~a"
(rawref self '__name__))))))
(define-python-class Warning ()
(define __init__
(case-lambda
((self)
(values))
((self val . l)
(set self 'value val))))
(define __repr__
(lambda (self)
(aif it (rawref self 'value #f)
(format #f "~a:~a"
(rawref self '__name__) it)
(format #f "~a"
(rawref self '__name__))))))
(define-syntax define-er
(syntax-rules ()
((_ nm k)
(define-python-class nm (Exception)))
((_ nm w k)
(define-python-class nm w))))
(define-syntax define-er2
(syntax-rules ()
((_ nm k)
(define-python-class nm (BaseException)))
((_ nm w k)
(define-python-class nm w))))
(define StopIteration 'StopIteration)
(define GeneratorExit 'GeneratorExit)
(define-er OverflowError 'OverflowError)
(define-er RecursionError 'RecursionError)
(define-er ArithmeticError 'ArithmeticError)
(define-er BaseException 'BaseException)
(define-er ZeroDivisionError 'ZeroDivisionError)
(define-er SystemException 'SystemException)
(define-er RuntimeError 'RuntimeError)
(define-er IndexError 'IndexError)
(define-er ArgumentError 'IndexError)
(define-er ValueError 'ValueError)
(define None 'None)
(define-er KeyError 'KeyError)
(define-er TypeError 'TypeError)
(define-er AttributeError 'AttributeError)
(define-er SyntaxError 'SyntaxError)
(define-er OSError 'OSError)
(define-er ProcessLookupError 'ProcessLookupError)
(define-er PermissionError 'PermissionError)
(define-er NotImplementedError 'NotImplementedError)
(define-er RunTimeError 'RunTimeError)
(define AssertionError 'AssertionError)
(define-er ImportError 'ImportError)
(define-er ModuleNotFoundError (ImportError) 'ModuleNotFoundError)
(define-er BlockingIOError 'BlockingIOError)
(define-er InterruptedError 'OSError)
(define NotImplemented (list 'NotImplemented))
(define-syntax define-wr
(syntax-rules ()
((_ nm k)
(define-python-class nm (Warning)))
((_ nm w k)
(define-python-class nm w))))
(define-wr BytesWarning 'BytesWarning)
(define-wr DepricationWarning 'DeprecationWarning)
|