diff options
author | Damien George <damien.p.george@gmail.com> | 2014-03-27 23:49:06 +0000 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2014-03-27 23:49:06 +0000 |
commit | c63f984647cb69147359440db19d417dfecab2fa (patch) | |
tree | 304cdde53ad1331f8b9e1fdb2272103fd84422ee | |
parent | 01b877d16d791b4b03798c2aa77e39a3d98a0673 (diff) | |
download | micropython-c63f984647cb69147359440db19d417dfecab2fa.tar.gz micropython-c63f984647cb69147359440db19d417dfecab2fa.zip |
py: Thin out predefined exceptions.
Only exceptions that are actually used are left prefedined. Hierarchy
is still there, and removed exceptions are just commented out.
-rw-r--r-- | py/builtintables.c | 3 | ||||
-rw-r--r-- | py/obj.h | 3 | ||||
-rw-r--r-- | py/objexcept.c | 19 |
3 files changed, 11 insertions, 14 deletions
diff --git a/py/builtintables.c b/py/builtintables.c index fd94f76783..839d5ba813 100644 --- a/py/builtintables.c +++ b/py/builtintables.c @@ -84,10 +84,8 @@ STATIC const mp_builtin_elem_t builtin_object_table[] = { { MP_QSTR_ArithmeticError, (mp_obj_t)&mp_type_ArithmeticError }, { MP_QSTR_AssertionError, (mp_obj_t)&mp_type_AssertionError }, { MP_QSTR_AttributeError, (mp_obj_t)&mp_type_AttributeError }, - { MP_QSTR_BufferError, (mp_obj_t)&mp_type_BufferError }, { MP_QSTR_EOFError, (mp_obj_t)&mp_type_EOFError }, { MP_QSTR_Exception, (mp_obj_t)&mp_type_Exception }, - { MP_QSTR_FloatingPointError, (mp_obj_t)&mp_type_FloatingPointError }, { MP_QSTR_GeneratorExit, (mp_obj_t)&mp_type_GeneratorExit }, { MP_QSTR_IOError, (mp_obj_t)&mp_type_IOError }, { MP_QSTR_ImportError, (mp_obj_t)&mp_type_ImportError }, @@ -105,7 +103,6 @@ STATIC const mp_builtin_elem_t builtin_object_table[] = { { MP_QSTR_SyntaxError, (mp_obj_t)&mp_type_SyntaxError }, { MP_QSTR_SystemError, (mp_obj_t)&mp_type_SystemError }, { MP_QSTR_TypeError, (mp_obj_t)&mp_type_TypeError }, - { MP_QSTR_UnboundLocalError, (mp_obj_t)&mp_type_UnboundLocalError }, { MP_QSTR_ValueError, (mp_obj_t)&mp_type_ValueError }, { MP_QSTR_ZeroDivisionError, (mp_obj_t)&mp_type_ZeroDivisionError }, // Somehow CPython managed to have OverflowError not inherit from ValueError ;-/ @@ -203,10 +203,8 @@ extern const mp_obj_type_t mp_type_BaseException; extern const mp_obj_type_t mp_type_ArithmeticError; extern const mp_obj_type_t mp_type_AssertionError; extern const mp_obj_type_t mp_type_AttributeError; -extern const mp_obj_type_t mp_type_BufferError; extern const mp_obj_type_t mp_type_EOFError; extern const mp_obj_type_t mp_type_Exception; -extern const mp_obj_type_t mp_type_FloatingPointError; extern const mp_obj_type_t mp_type_GeneratorExit; extern const mp_obj_type_t mp_type_IOError; extern const mp_obj_type_t mp_type_ImportError; @@ -224,7 +222,6 @@ extern const mp_obj_type_t mp_type_StopIteration; extern const mp_obj_type_t mp_type_SyntaxError; extern const mp_obj_type_t mp_type_SystemError; extern const mp_obj_type_t mp_type_TypeError; -extern const mp_obj_type_t mp_type_UnboundLocalError; extern const mp_obj_type_t mp_type_ValueError; extern const mp_obj_type_t mp_type_ZeroDivisionError; diff --git a/py/objexcept.c b/py/objexcept.c index facf209df8..71874751b2 100644 --- a/py/objexcept.c +++ b/py/objexcept.c @@ -112,12 +112,12 @@ MP_DEFINE_EXCEPTION(Exception, BaseException) MP_DEFINE_EXCEPTION(StopIteration, Exception) MP_DEFINE_EXCEPTION(ArithmeticError, Exception) MP_DEFINE_EXCEPTION_BASE(ArithmeticError) - MP_DEFINE_EXCEPTION(FloatingPointError, ArithmeticError) + //MP_DEFINE_EXCEPTION(FloatingPointError, ArithmeticError) MP_DEFINE_EXCEPTION(OverflowError, ArithmeticError) MP_DEFINE_EXCEPTION(ZeroDivisionError, ArithmeticError) MP_DEFINE_EXCEPTION(AssertionError, Exception) MP_DEFINE_EXCEPTION(AttributeError, Exception) - MP_DEFINE_EXCEPTION(BufferError, Exception) + //MP_DEFINE_EXCEPTION(BufferError, Exception) //MP_DEFINE_EXCEPTION(EnvironmentError, Exception) MP_DEFINE_EXCEPTION(EOFError, Exception) MP_DEFINE_EXCEPTION(ImportError, Exception) @@ -129,11 +129,11 @@ MP_DEFINE_EXCEPTION(Exception, BaseException) MP_DEFINE_EXCEPTION(MemoryError, Exception) MP_DEFINE_EXCEPTION(NameError, Exception) MP_DEFINE_EXCEPTION_BASE(NameError) - MP_DEFINE_EXCEPTION(UnboundLocalError, NameError) + //MP_DEFINE_EXCEPTION(UnboundLocalError, NameError) MP_DEFINE_EXCEPTION(OSError, Exception) MP_DEFINE_EXCEPTION_BASE(OSError) - // Probably don't need these - /*MP_DEFINE_EXCEPTION(BlockingIOError, OSError) + /* + MP_DEFINE_EXCEPTION(BlockingIOError, OSError) MP_DEFINE_EXCEPTION(ChildProcessError, OSError) MP_DEFINE_EXCEPTION(ConnectionError, OSError) MP_DEFINE_EXCEPTION(BrokenPipeError, ConnectionError) @@ -145,18 +145,21 @@ MP_DEFINE_EXCEPTION(Exception, BaseException) MP_DEFINE_EXCEPTION(NotADirectoryError, OSError) MP_DEFINE_EXCEPTION(PermissionError, OSError) MP_DEFINE_EXCEPTION(ProcessLookupError, OSError) - MP_DEFINE_EXCEPTION(TimeoutError, OSError)*/ + MP_DEFINE_EXCEPTION(TimeoutError, OSError) MP_DEFINE_EXCEPTION(FileExistsError, OSError) MP_DEFINE_EXCEPTION(FileNotFoundError, OSError) - //MP_DEFINE_EXCEPTION(ReferenceError, Exception) + MP_DEFINE_EXCEPTION(ReferenceError, Exception) + */ MP_DEFINE_EXCEPTION(RuntimeError, Exception) MP_DEFINE_EXCEPTION_BASE(RuntimeError) MP_DEFINE_EXCEPTION(NotImplementedError, RuntimeError) MP_DEFINE_EXCEPTION(SyntaxError, Exception) MP_DEFINE_EXCEPTION_BASE(SyntaxError) MP_DEFINE_EXCEPTION(IndentationError, SyntaxError) + /* MP_DEFINE_EXCEPTION_BASE(IndentationError) - //MP_DEFINE_EXCEPTION(TabError, IndentationError) + MP_DEFINE_EXCEPTION(TabError, IndentationError) + */ MP_DEFINE_EXCEPTION(SystemError, Exception) MP_DEFINE_EXCEPTION(TypeError, Exception) MP_DEFINE_EXCEPTION(ValueError, Exception) |