diff options
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -394,11 +394,16 @@ setup_exception(rb_thread_t *th, int tag, volatile VALUE mesg) PUSH_TAG(); if ((status = EXEC_TAG()) == 0) { RB_GC_GUARD(e) = rb_obj_as_string(e); - if (file) { + if (file && line) { warn_printf("Exception `%s' at %s:%d - %s\n", rb_obj_classname(th->errinfo), file, line, RSTRING_PTR(e)); } + else if (file) { + warn_printf("Exception `%s' at %s - %s\n", + rb_obj_classname(th->errinfo), + file, RSTRING_PTR(e)); + } else { warn_printf("Exception `%s' - %s\n", rb_obj_classname(th->errinfo), |