From: matz@... (Yukihiro Matsumoto) Date: 1998-01-08T16:00:41+09:00 Subject: [ruby-list:5830] CGI script in Ruby まつもと ゆきひろです 私自身はCGIってものを作ったことはないのですが,原さん原作, 青山さん拡張,まつもと修正によるcgi-lib.rbのおかげもあって CGIスクリプト言語として使って下さる方もいらっしゃるようです. んで,昨日CGIスクリプト言語としてのRubyということについて考 えていたのですが, * Perlよりもコンパイル時に検出できるエラーが少ない * 異常事態があってもdieしない限り,なんとか動いてしまう Perlに対してRubyは異常があると例外で止まってしまう という特徴により * ちゃんと例外処理をしないとスクリプトがHTML生成途中で止まっ てしまって,尻切れなページになってしまうが,切れたかどう かがはっきり分からない. という問題(というかなんというか)があるなあ,という話になりま した.んで,CGIでは例外発生時のバックトレースを標準出力に出 せば,ちっとはエラーがあったと言う意志表示になるのではないか, という仮の結論が出ました. というわけで,cgi-lib.rbの中で $stderr = STDOUT という行を追加しました.今はcgi-lib.rbをrequireすると,全て の場合に(テスト用に実行した時も含めて),バックトレースを標準 出力に出力するようになっていますが,これはCGIとして実行され た場合(GETかPOSTで呼ばれた場合?)に限った方が良いかも知れま せん. どう思われますか? まつもと ゆきひろ /:|) p.s. なお,1.1b3までのrubyにはバグがあって $stderr = STDOUT はま ともに動作しません(ありがち ^^;;;). まつもと ゆきひろ /:|)