我正在使用facebook graph-api,我正在拿取签到密钥。大多数地方都有这个签到密钥,但每隔一段时间我就找到一个没有签到密钥的地方。有没有办法检查nil并防止以下代码炸毁我的大耙子?
graph.get_object(5811874893).fetch("checkins")
KeyError: key not found: "checkins"
x = graph.get_object(x.place_id)["checkins"]
根据以下反馈,我有以下错误,主题相同:零检查。你会怎么处理这个?
nil can't be coerced into Fixnum
答案 0 :(得分:2)
您是否尝试过查看has_key?
是否可用,或使用graph.get_object(5811874893)["checkins"]
而不是graph.get_object(5811874893).fetch("checkins")
?
如果没有签到,则返回0,执行
graph.get_object(5811874893).fetch("checkins") { 0 }
fetch
之后的块指定在"checkins"
不存在时该怎么做。
答案 1 :(得分:1)
你为什么不这样做
graph.get_object(5811874893)["checkins"]
如果使用[]
访问哈希,则不会引发任何错误,并且您将获得一个nil值(只要哈希不将其设置为其他内容)。