私は、基本的には http API への単なるクライアントであるアプリケーションを作成します。Redis Search サンプル(DataParser
および) のコードを再利用しようとしてJsonParser
いますが、API 呼び出し中にエラーが発生した場合、RubyMotion はそのエラーを発生させることができません。先祖であり、期待raise
されるエラーポインタで最初にエラーを試みます。NSError
raise
Exception
RubyMotion プロジェクトで HTTP エラーを処理する新しい方法はありますか?
BW::HTTP は非推奨であることがわかったため、使用していません。
受信したエラー:
data_parser.rb:7:in `parse:': exception class/object expected (TypeError)
この方法で失敗するコードの 1 つ:
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