这两天在写爬虫,需要iconv来转换字符编码,昨天在解决一个不存在的问题。。
嗯,我的意思是这个问题是别人的问题,不是我的问题。
Iconv.iconv("UTF-8//IGNORE","GB18030//IGNORE",str)居然还会出错导致程序中断。但是我一直没有注意到出错的时候没有输出任何ruby异常,而是只显示一个类似这样的字符串"\277"。搜索了一整天没有结果,后来仔细一想,感觉输出不太对劲,会不会是iconv底层c那部分的问题?于是换到ubuntu下用ree1.8.7来试,结果就没问题了……
========================================================
另外还有一个奇怪的问题……
begin
@topic_page = @topic_page.link_with(:text => "#{@page}").click
rescue Net::HTTPInternalServerError
retry
end
这里居然还会抛Net::HTTPInternalServerError,真是不合逻辑啊不合逻辑……
=======================================================
郁闷了,搞了半天,Net::HTTPInternalServerError居然不是一个Error,不是StandardError的子类。
自己启动了个服务器,在articles controller的index方法里写个raise '',再用以下代码访问:
require 'mechanize'
agent=WWW::Mechanize.new
begin
page = agent.get 'http://localhost:3000/admin/articles'
rescue =>err
puts "#{err.class}##{err}"
end
输出:WWW::Mechanize::ResponseCodeError#500 => Net::HTTPInternalServerError
原来如此啊....rake任务打印出的异常信息全都不带类名么?这样前面第1个错误的解决也是歪打正着了……
改个加强型的,哇哈哈哈哈:
def self.access(target)
begin
if target.respond_to? 'click'
url = target.href
target.click
else
url = target
@@agent.get(target)
end
rescue WWW::Mechanize::ResponseCodeError => err
#FIXME: puts到时候改为log
puts "#{err}, caused by accessing: #{url}"
sleep 10
retry
end
end
分享到:
相关推荐
ruby1.8.6
Ruby1.8.6 One-Click Installer
ruby1.8.6 + rails2.0.2 + radrails0.7.2 + mysql 安装配置 详细说明
Ruby-doc is a project dedicated to creating and collecting documentation on Ruby. You can find collections of articles and other resources at the website. stdlib-doc is a RubyForge project that ...
ruby1.8.6 windows安装程序
ruby-1.8.6.zip
ruby 1.8.6官方chm文档,做为ruby开发者,这是必备文档.
Ruby 1.8.6 on Rails 2.1.0 Install.txtRuby 1.8.6 on Rails 2.1.0 Install.txt
Ruby1.8.6 One-Click Installer
Ruby1.8.6 One-Click Installer带SciTE
ruby-enterprise-1.8.6-20090201.tar for linux
好用的API chm格式 想要的就下载吧!!!!
Ruby on Rails安装,有人说难,但其实也很方便。要基于ruby开发应用程序,我们必须安装ruby、gem、rails、mongrel。
ruby-1.8.6.tar.bz2
ruby-1.8.6-p114.tar.gz
ruby api ruby文档 英文 ruby开发必备
脚本引擎内核源代码之Ruby-1.8.6.tar.gz。VC6编译通过
找了好久才找到的插件,希望大家能用的上,ruby逐渐走强,但资源始终不好找,希望能帮上您的忙.
ruby方法chm文件、接口、方法描述,学习ruby必备的文件
ruby 1.8.6 api html格式