Skip to content
Snippets Groups Projects
Commit 71ebd4b7 authored by Paul Sokolovsky's avatar Paul Sokolovsky
Browse files

py: Implement UnicodeError.

Still too shy to implement UnicodeEncodeError which was really needed for
micropython-lib case.
parent 70b31608
No related branches found
No related tags found
No related merge requests found
...@@ -683,6 +683,9 @@ STATIC const mp_map_elem_t mp_module_builtins_globals_table[] = { ...@@ -683,6 +683,9 @@ STATIC const mp_map_elem_t mp_module_builtins_globals_table[] = {
{ MP_OBJ_NEW_QSTR(MP_QSTR_SyntaxError), (mp_obj_t)&mp_type_SyntaxError }, { MP_OBJ_NEW_QSTR(MP_QSTR_SyntaxError), (mp_obj_t)&mp_type_SyntaxError },
{ MP_OBJ_NEW_QSTR(MP_QSTR_SystemExit), (mp_obj_t)&mp_type_SystemExit }, { MP_OBJ_NEW_QSTR(MP_QSTR_SystemExit), (mp_obj_t)&mp_type_SystemExit },
{ MP_OBJ_NEW_QSTR(MP_QSTR_TypeError), (mp_obj_t)&mp_type_TypeError }, { MP_OBJ_NEW_QSTR(MP_QSTR_TypeError), (mp_obj_t)&mp_type_TypeError },
#if MICROPY_PY_BUILTINS_STR_UNICODE
{ MP_OBJ_NEW_QSTR(MP_QSTR_UnicodeError), (mp_obj_t)&mp_type_UnicodeError },
#endif
{ MP_OBJ_NEW_QSTR(MP_QSTR_ValueError), (mp_obj_t)&mp_type_ValueError }, { MP_OBJ_NEW_QSTR(MP_QSTR_ValueError), (mp_obj_t)&mp_type_ValueError },
{ MP_OBJ_NEW_QSTR(MP_QSTR_ZeroDivisionError), (mp_obj_t)&mp_type_ZeroDivisionError }, { MP_OBJ_NEW_QSTR(MP_QSTR_ZeroDivisionError), (mp_obj_t)&mp_type_ZeroDivisionError },
// Somehow CPython managed to have OverflowError not inherit from ValueError ;-/ // Somehow CPython managed to have OverflowError not inherit from ValueError ;-/
......
...@@ -369,6 +369,7 @@ extern const mp_obj_type_t mp_type_StopIteration; ...@@ -369,6 +369,7 @@ 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_SyntaxError;
extern const mp_obj_type_t mp_type_SystemExit; extern const mp_obj_type_t mp_type_SystemExit;
extern const mp_obj_type_t mp_type_TypeError; extern const mp_obj_type_t mp_type_TypeError;
extern const mp_obj_type_t mp_type_UnicodeError;
extern const mp_obj_type_t mp_type_ValueError; extern const mp_obj_type_t mp_type_ValueError;
extern const mp_obj_type_t mp_type_ZeroDivisionError; extern const mp_obj_type_t mp_type_ZeroDivisionError;
......
...@@ -249,7 +249,11 @@ MP_DEFINE_EXCEPTION(Exception, BaseException) ...@@ -249,7 +249,11 @@ MP_DEFINE_EXCEPTION(Exception, BaseException)
//MP_DEFINE_EXCEPTION(SystemError, Exception) //MP_DEFINE_EXCEPTION(SystemError, Exception)
MP_DEFINE_EXCEPTION(TypeError, Exception) MP_DEFINE_EXCEPTION(TypeError, Exception)
MP_DEFINE_EXCEPTION(ValueError, Exception) MP_DEFINE_EXCEPTION(ValueError, Exception)
//TODO: Implement UnicodeErrors which take arguments #if MICROPY_PY_BUILTINS_STR_UNICODE
MP_DEFINE_EXCEPTION_BASE(ValueError)
MP_DEFINE_EXCEPTION(UnicodeError, ValueError)
//TODO: Implement more UnicodeError subclasses which take arguments
#endif
/* /*
MP_DEFINE_EXCEPTION(Warning, Exception) MP_DEFINE_EXCEPTION(Warning, Exception)
MP_DEFINE_EXCEPTION_BASE(Warning) MP_DEFINE_EXCEPTION_BASE(Warning)
......
...@@ -137,6 +137,9 @@ Q(TypeError) ...@@ -137,6 +137,9 @@ Q(TypeError)
Q(UnboundLocalError) Q(UnboundLocalError)
Q(ValueError) Q(ValueError)
Q(ZeroDivisionError) Q(ZeroDivisionError)
#if MICROPY_PY_BUILTINS_STR_UNICODE
Q(UnicodeError)
#endif
Q(None) Q(None)
Q(False) Q(False)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment