summaryrefslogtreecommitdiff
path: root/modules/language/python/exceptions.scm
diff options
context:
space:
mode:
Diffstat (limited to 'modules/language/python/exceptions.scm')
-rw-r--r--modules/language/python/exceptions.scm20
1 files changed, 15 insertions, 5 deletions
diff --git a/modules/language/python/exceptions.scm b/modules/language/python/exceptions.scm
index 0e16e4b..804ee76 100644
--- a/modules/language/python/exceptions.scm
+++ b/modules/language/python/exceptions.scm
@@ -8,7 +8,8 @@
OSError ProcessLookupError PermissionError
None NotImplemented NotImplementedError
RunTimeError AssertionError ImportError
- ModuleNotFoundError BlockingIOError))
+ ModuleNotFoundError BlockingIOError
+ InterruptedError BaseException))
(define-syntax-rule (aif it p x y) (let ((it p)) (if it x y)))
@@ -35,14 +36,22 @@
((_ nm w k)
(define-python-class nm w))))
-(define StopIteration 'StopIteration)
-(define GeneratorExit 'GeneratorExit)
+(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 BaseException 'BaseException)
(define-er SystemException 'SystemException)
(define-er RuntimeError 'RuntimeError)
(define-er IndexError 'IndexError)
(define-er ArgumentError 'IndexError)
(define-er ValueError 'ValueError)
-(define None 'None)
+(define None 'None)
(define-er KeyError 'KeyError)
(define-er TypeError 'TypeError)
(define-er AttributeError 'AttributeError)
@@ -52,10 +61,11 @@
(define-er PermissionError 'PermissionError)
(define-er NotImplementedError 'NotImplementedError)
(define-er RunTimeError 'RunTimeError)
-(define AssertionError 'AssertionError)
+(define AssertionError 'AssertionError)
(define-er ImportError 'ImportError)
(define-er ModuleNotFoundError (ImportError) 'ModuleNotFoundError)
(define-er BlockingIOError 'BlockingIOError)
+(define-er InterruptedError 'OSError)
(define NotImplemented (list 'NotImplemented))