Я пишу приложение, которое в основном просто клиент для http API. Я пытаюсь повторно использовать код из примера Redis Search (DataParser
и JsonParser
) , но когда во время вызова API возникает ошибка, RubyMotion не может вызвать эту ошибку. Он пытается raise
найти первую ошибку в указателе ошибки, который имеет NSError
, а raise
ожидает предка Exception
.
Есть ли какой-то новый способ обработки ошибок HTTP в проектах RubyMotion?
Я не использую 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