diff options
Diffstat (limited to 'modules/language/python/exceptions.scm')
-rw-r--r-- | modules/language/python/exceptions.scm | 20 |
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)) |