STATIC mp_obj_t mod_ujson_dumps(mp_obj_t obj) { vstr_t vstr; mp_print_t print; vstr_init_print(&vstr, 8, &print); mp_obj_print_helper(&print, obj, PRINT_JSON); return mp_obj_new_str_from_vstr(&mp_type_str, &vstr); }
void microbit_display_exception(mp_obj_t exc_in) { mp_uint_t n, *values; mp_obj_exception_get_traceback(exc_in, &n, &values); if (n >= 3) { vstr_t vstr; mp_print_t print; vstr_init_print(&vstr, 50, &print); #if MICROPY_ENABLE_SOURCE_LINE mp_printf(&print, "line %u ", values[1]); #endif if (mp_obj_is_native_exception_instance(exc_in)) { mp_obj_exception_t *exc = exc_in; mp_printf(&print, "%q ", exc->base.type->name); if (exc->args != NULL && exc->args->len != 0) { mp_obj_print_helper(&print, exc->args->items[0], PRINT_STR); } } mp_hal_display_string(vstr_null_terminated_str(&vstr)); vstr_clear(&vstr); } }