From: "湊大典" Date: 2007-10-07T21:13:08+09:00 Subject: [ruby-list:44090] Windowsアプリにrubyを組み込んだときのエラーメッセージ こんにちは。 WindowsアプリにRubyを組み込んでいるんですが rb_eval_string_protect で、コードを実行中、発生したエラーの行とメッセージを得たいのですが Linuxのようにやっても得ることができません。 どうしてでしょうか? 以下のようなコードです。 int error; rb_eval_string_protect("", &error); if(error) { switch(error) { case TAG_RETURN: MessageBox(NULL, "unexpected return\n", "Error", MB_OK); break; case TAG_NEXT: MessageBox(NULL, "unexpected next\n", "Error", MB_OK); break; case TAG_BREAK: . . . case TAG_RAISE: case TAG_FATAL: { VALUE eclass = CLASS_OF(ruby_errinfo); VALUE einfo = rb_obj_as_string(ruby_errinfo); if(eclass == rb_eRuntimeError && RSTRING(einfo)->len == 0) { MessageBox(NULL, "unhandled exception", "Error", MB_OK); } else { VALUE epath = rb_class_path(eclass); char tmp[BUFSIZ]; sprintf(tmp, "%s: %s", RSTRING(epath)->ptr, RSTRING(einfo)->ptr); MessageBox(NULL, tmp, "error", MB_OK); } } break; あと rb_load_protect で同様にエラーメッセージを取得したいです。 -- 湊大典 minato.daisuke@gmail.com