【发布时间】:2020-05-02 11:12:06
【问题描述】:
在ruby 'net/http' 标准库中,Net::Http 类在使用new 方法时会引发哪些异常?
查看文档here 不清楚该方法可以引发哪些异常。即使切换“显示源”,并将new 方法追溯到start 方法并查看其源,我也看不到可能引发异常的明确迹象。
【问题讨论】:
标签: ruby
在ruby 'net/http' 标准库中,Net::Http 类在使用new 方法时会引发哪些异常?
查看文档here 不清楚该方法可以引发哪些异常。即使切换“显示源”,并将new 方法追溯到start 方法并查看其源,我也看不到可能引发异常的明确迹象。
【问题讨论】:
标签: ruby
Net::Http 异常的基类是 Net::HTTPExceptions
我们可以像question 中描述的那样查找它的后代。
require 'net/http'
puts ObjectSpace.each_object(Class).select { |x| x < Net::HTTPExceptions }
它输出 4 个类名:
Net::HTTPFatalError
Net::HTTPServerException
Net::HTTPRetriableError
Net::HTTPError
还有一些类名是为了兼容,比如
# for compatibility
Net::HTTPClientException = Net::HTTPServerException
可以在本地文件中的 ruby repository 中查看源文件(将 Ruby 版本更改为您的)
C:\Ruby26-x64\lib\ruby\2.6.0\net\http\exceptions.rb
【讨论】:
exceptions.rb) 无需任何额外操作即可回答您的问题。