如何将错误消息重定向到CGI/Ruby中的浏览器?

如何将错误消息重定向到CGI/Ruby中的浏览器?,ruby,cgi,Ruby,Cgi,我已经使用CGI/Perl有一段时间了,并且已经习惯于使用Carp将错误消息重定向到浏览器,例如: use CGI::Carp qw(warningsToBrowser fatalsToBrowser set_message); set_message("Please report this error to the administrator"); ... warningsToBrowser(1); 我正在考虑改用Ruby而不是Perl,但我找不到一种方法来进行类似的错误重定向。有一个R

我已经使用CGI/Perl有一段时间了,并且已经习惯于使用Carp将错误消息重定向到浏览器,例如:

use CGI::Carp qw(warningsToBrowser fatalsToBrowser set_message);
set_message("Please report this error to the administrator");

...

warningsToBrowser(1);
我正在考虑改用Ruby而不是Perl,但我找不到一种方法来进行类似的错误重定向。有一个Ruby模块可以做到这一点吗

 group :development do
    gem 'better_errors'
    gem 'binding_of_caller'
    gem 'meta_request'
end
请看这个railscast:和这个线程,它建议:

$stdout.sync = true
$stderr.reopen $stdout
puts "Content-type: text/html\n\n"`

内容类型需要在代码的早期,因为之前的任何错误都不会发送到浏览器。

您使用的是Rails吗?因为有一个ActiveSupport可重调式模块可以做类似的事情-谢谢,但不是,我只是使用普通的Rubyth。这个问题似乎与Perl无关,所以我删除了标记Thank!第二个链接对我来说是关键的,在那里的某个地方它建议设置
$stdout.sync=true
,因此我将用它编辑回复。