0
我正在使用rails框架。我正在使用'media_wiki'寶石。我想趕上'丟失標題'的錯誤。見下面如何爲media_wiki捕獲'missingtitle'錯誤gem
mw = MediaWiki::Gateway.new('http://en.wikipedia.org/w/api.php/')
wiki_content = mw.render('msadb')
這導致了一個錯誤
MediaWiki::APIError: MediaWiki::APIError: API error: code 'missingtitle', info 'The page you specified doesn't exist'
from /home/papri/.rvm/gems/ruby-1.9.3-p194/gems/mediawiki-gateway-0.5.0/lib/media_wiki/gateway.rb:711:in `get_response'
from /home/papri/.rvm/gems/ruby-1.9.3-p194/gems/mediawiki-gateway-0.5.0/lib/media_wiki/gateway.rb:669:in `block in make_api_request'
from /home/papri/.rvm/gems/ruby-1.9.3-p194/gems/rest-client-1.6.7/lib/restclient/request.rb:228:in `call'
from /home/papri/.rvm/gems/ruby-1.9.3-p194/gems/rest-client-1.6.7/lib/restclient/request.rb:228:in `process_result'
from /home/papri/.rvm/gems/ruby-1.9.3-p194/gems/rest-client-1.6.7/lib/restclient/request.rb:178:in `block in transmit'
from /home/papri/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/net/http.rb:745:in `start'
from /home/papri/.rvm/gems/ruby-1.9.3-p194/gems/rest-client-1.6.7/lib/restclient/request.rb:172:in `transmit'
from /home/papri/.rvm/gems/ruby-1.9.3-p194/gems/rest-client-1.6.7/lib/restclient/request.rb:64:in `execute'
from /home/papri/.rvm/gems/ruby-1.9.3-p194/gems/rest-client-1.6.7/lib/restclient/request.rb:33:in `execute'
from /home/papri/.rvm/gems/ruby-1.9.3-p194/gems/rest-client-1.6.7/lib/restclient.rb:72:in `post'
from /home/papri/.rvm/gems/ruby-1.9.3-p194/gems/mediawiki-gateway-0.5.0/lib/media_wiki/gateway.rb:692:in `http_send'
from /home/papri/.rvm/gems/ruby-1.9.3-p194/gems/mediawiki-gateway-0.5.0/lib/media_wiki/gateway.rb:661:in `make_api_request'
from /home/papri/.rvm/gems/ruby-1.9.3-p194/gems/mediawiki-gateway-0.5.0/lib/media_wiki/gateway.rb:106:in `render'
from (irb):18
from /home/papri/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.6/lib/rails/commands/console.rb:47:in `start'
from /home/papri/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.6/lib/rails/commands/console.rb:8:in `start'
from /home/papri/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.6/lib/rails/commands.rb:41:in `<top (required)>'
from script/rails:6:in `require'
,當我試圖追上使用救援開始循環這個錯誤,它沒有工作。
mw = MediaWiki::Gateway.new('http://en.wikipedia.org/w/api.php/')
begin
wiki_content = mw.render('msadb')
rescue
print "This is a missing title error"
end
輸出與以前相同的錯誤。開始救援無法捕捉到這個錯誤。我應該如何捕獲這個錯誤。
如果你看一下在瀏覽器中實際的頁面,你可以看到它是一個錯誤:http://en.wikipedia.org/w/api.php/ 。 – 2013-02-16 05:46:07
@RyanBigg AFAIU這個問題與「MediaWiki」無關,它表示「爲什麼營救不救」。 – mudasobwa 2013-02-16 06:25:04
如果他正在提出有效的API請求,他不會需要救援! – 2013-02-16 08:09:22