py: Implement UnicodeError.
Still too shy to implement UnicodeEncodeError which was really needed for micropython-lib case.
This commit is contained in:
parent
70b3160871
commit
71ebd4b7f0
|
@ -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 ;-/
|
||||||
|
|
1
py/obj.h
1
py/obj.h
|
@ -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)
|
||||||
//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)
|
||||||
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)
|
||||||
|
|
Loading…
Reference in New Issue