summaryrefslogtreecommitdiff
path: root/unix/main.c
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2014-12-06 14:29:09 +0200
committerDamien George <damien.p.george@gmail.com>2014-12-08 20:25:49 +0000
commit46c3ab20049af16e97863e90e5761fae329f872a (patch)
treecbe6230dcad6972d7d50c6d08c4e4c4da215abb1 /unix/main.c
parentd0caaadaeea48e8f76dca3125a2dea3465a58416 (diff)
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 'unix/main.c')
-rw-r--r--unix/main.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/unix/main.c b/unix/main.c
index 6733bbdda..2a0dc864c 100644
--- a/unix/main.c
+++ b/unix/main.c
@@ -53,6 +53,7 @@
#include "genhdr/py-version.h"
#include "input.h"
#include "stackctrl.h"
+#include "pfenv.h"
// Command line options, with their defaults
STATIC bool compile_only = false;
@@ -100,7 +101,7 @@ STATIC int handle_uncaught_exception(mp_obj_t exc) {
}
// Report all other exceptions
- mp_obj_print_exception(exc);
+ mp_obj_print_exception(printf_wrapper, NULL, exc);
return 1;
}
@@ -150,7 +151,7 @@ STATIC int execute_from_lexer(mp_lexer_t *lex, mp_parse_input_kind_t input_kind,
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 1;
}