我编写了一个应用程序,它基本上只是http API的客户端。我正在尝试重用Redis搜索示例(DataParser
和JsonParser
)中的代码,但当在API调用过程中发生错误时,RubyMotion无法引发该错误。它尝试在错误指针中raise
的第一个错误,该错误指针是NSError
,raise
期望Exception
的祖先。
有没有一些新的方法来处理RubyMotion项目中的HTTP错误?
我没有使用BW::HTTP,因为我发现它已被弃用。
收到错误:
data_parser.rb:7:in `parse:': exception class/object expected (TypeError)
以这种方式失败的代码之一:
class DataParser
def self.parse(url)
error_ptr = Pointer.new(:object)
data = NSData.alloc.initWithContentsOfURL(NSURL.URLWithString(url), options:NSDataReadingUncached, error:error_ptr)
unless data
NSLog error_ptr[0].inspect
raise error_ptr[0]
end
data
end
end
强烈建议使用AFMotion:https://github.com/clayallsopp/afmotion