如何获得curb错误stacktrace

时间:2015-04-14 18:28:27

标签: ruby curl

如何在使用Curb的curl :: easy时出现错误的整个堆栈跟踪?我曾尝试查看http://www.rubydoc.info/github/taf2/curb/Curl/Err获取信息,但看不到任何内容。

1 个答案:

答案 0 :(得分:1)

begin
  curl.perform
rescue Curl::Err::CurlError => e
  puts e.backtrace.inspect # or log it
end

<强>更新

  

我试过了,但似乎没有给我一个详细的错误   信息。现在我收到一般性错误消息并且很难   调试

正如Tin Man已经提到的那样&#34; ruby​​doc.info/github/taf2/curb/Curl/Err是Curb出现问题时可能返回的错误列表。&#34;

要捕捉特定错误,您需要单独解救它们。正如您在上面的示例中所看到的,我正在尝试专门拯救Curl::Err::CurlError。同样,您可以添加更多错误,如下所示:

rescue Curl::Err::CurlError => e
  puts "CURLERROR: === " + e.backtrace.inspect
rescue Curl::Err::AccessDeniedError => e
  puts "ACCESSDENIED: === " + e.backtrace.inspect
rescue Curl::Err::TimeoutError => e
  puts "TIMEOUT: === " + e.backtrace.inspect
...
end