Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用外部请求处理Ruby错误_Ruby_Json_Api - Fatal编程技术网

使用外部请求处理Ruby错误

使用外部请求处理Ruby错误,ruby,json,api,Ruby,Json,Api,我正在发出一个外部请求,并使用HTTPARTY处理JSON文件,然后对其进行解析。 但是,如果请求失败(文件不再存在或uri不正确),我如何处理错误以便仍能显示页面? 我不确定如何最好地保护应用程序不受此故障的影响,而且我在错误处理方面也没有做太多工作 def api_fetch(url) JSON.parse HTTParty.get(url).response.body end api_fetch('http://example.com/data.json')['test'] 请帮助

我正在发出一个外部请求,并使用HTTPARTY处理JSON文件,然后对其进行解析。
但是,如果请求失败(文件不再存在或uri不正确),我如何处理错误以便仍能显示页面?
我不确定如何最好地保护应用程序不受此故障的影响,而且我在错误处理方面也没有做太多工作

def api_fetch(url)
  JSON.parse HTTParty.get(url).response.body
end

api_fetch('http://example.com/data.json')['test']

请帮助

下面的内容应该有用。当您调用该方法时,它将检查该方法是否返回nil

def api_fetch(url)
    begin
      JSON.parse HTTParty.get(url).response.body
    rescue
      nil
    end
  end

下面的方法应该有效。当您调用该方法时,它将检查该方法是否返回nil

def api_fetch(url)
    begin
      JSON.parse HTTParty.get(url).response.body
    rescue
      nil
    end
  end

将添加一些内容以检查调用时方法是否返回nil。谢谢,我建议您也记录引发的异常。将防止以后遇到很多挫折。将添加一些内容以检查方法在调用时是否返回nil。谢谢,我建议您也记录引发的异常。这样可以避免以后的很多挫折。