組み込みRuby: エラーを出力する

http://blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/ruby/ruby-list/44098?44041-44273

#include <ruby.h>
#include <version.h>

EXTERN VALUE ruby_top_self;

int main() {
  int status;

  ruby_init();
  ruby_init_loadpath();
  
  rb_eval_string("def func; raise 'hoehoe'; end");
  rb_eval_string_protect("func", &status);

  if (status != 0) {
    VALUE message, backtrace;

    message = rb_funcall(ruby_errinfo, rb_intern("message"), 0);
    backtrace = rb_funcall(ruby_errinfo, rb_intern("backtrace"), 0);
    backtrace = rb_funcall(backtrace, rb_intern("join"), 1, rb_str_new("\n", 1));

    puts(RSTRING_PTR(message));
    puts("-----");
    puts(RSTRING_PTR(backtrace));
  }

  return 0;
}


(eval):0:in `func': hoehoe

        • -

(eval)
(eval):0