diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-12-06 14:29:09 +0200 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2014-12-08 20:25:49 +0000 |
commit | 46c3ab20049af16e97863e90e5761fae329f872a (patch) | |
tree | cbe6230dcad6972d7d50c6d08c4e4c4da215abb1 /qemu-arm/main.c | |
parent | d0caaadaeea48e8f76dca3125a2dea3465a58416 (diff) | |
download | micropython-46c3ab20049af16e97863e90e5761fae329f872a.tar.gz micropython-46c3ab20049af16e97863e90e5761fae329f872a.zip |
modsys: Add sys.print_exception(exc, file=sys.stdout) function.
The function is modeled after traceback.print_exception(), but unbloated,
and put into existing module to save overhead on adding another module.
Compliant traceback.print_exception() is intended to be implemented in
micropython-lib in terms of sys.print_exception().
This change required refactoring mp_obj_print_exception() to take pfenv_t
interface arguments.
Addresses #751.
Diffstat (limited to 'qemu-arm/main.c')
-rw-r--r-- | qemu-arm/main.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/qemu-arm/main.c b/qemu-arm/main.c index 8cbeaaa6ef..11ba2f4028 100644 --- a/qemu-arm/main.c +++ b/qemu-arm/main.c @@ -14,6 +14,7 @@ #include "runtime0.h" #include "runtime.h" #include "repl.h" +#include "pfenv.h" void do_str(const char *src) { mp_lexer_t *lex = mp_lexer_new_from_str_len(MP_QSTR__lt_stdin_gt_, src, strlen(src), 0); @@ -38,7 +39,7 @@ void do_str(const char *src) { if (mp_obj_is_exception_instance(module_fun)) { // compile error - mp_obj_print_exception(module_fun); + mp_obj_print_exception(printf_wrapper, NULL, module_fun); return; } @@ -48,7 +49,7 @@ void do_str(const char *src) { nlr_pop(); } else { // uncaught exception - mp_obj_print_exception((mp_obj_t)nlr.ret_val); + mp_obj_print_exception(printf_wrapper, NULL, (mp_obj_t)nlr.ret_val); } } |