示例#1
0
void mrb_state::print_error()
{
    mrb_print_backtrace(this);
    mrb_value s = funcall(mrb_value::wrap(m_exc), "inspect", 0);
    if (s.is_string()) {
        RString *str = s.ptr<RString>();
        sys.error_f("%s\n",str->m_ptr);
    }
}
示例#2
0
文件: print.c 项目: Synposis/mruby
void
mrb_print_error(mrb_state *mrb)
{
#ifdef ENABLE_STDIO
  mrb_value s;
  
  mrb_print_backtrace(mrb);
  s = mrb_funcall(mrb, mrb_obj_value(mrb->exc), "inspect", 0);
  if (mrb_string_p(s)) {
    fwrite(RSTRING_PTR(s), RSTRING_LEN(s), 1, stderr);
    putc('\n', stderr);
  }
#endif
}
示例#3
0
void
mrb_print_error(mrb_state *mrb)
{
#ifdef ENABLE_STDIO
  mrb_value s;
  
  mrb_print_backtrace(mrb);
  s = mrb_funcall(mrb, mrb_obj_value(mrb->exc), "inspect", 0);
  if (mrb_string_p(s)) {
    struct RString *str = mrb_str_ptr(s);
    fwrite(str->ptr, str->len, 1, stderr);
    putc('\n', stderr);
  }
#endif
}
示例#4
0
文件: print.c 项目: miura1729/mruby
MRB_API void
mrb_print_error(mrb_state *mrb)
{
  mrb_print_backtrace(mrb);
  printstr(mrb, mrb_funcall(mrb, mrb_obj_value(mrb->exc), "inspect", 0), stderr);
}