gpt4 book ai didi

objective-c - 我应该如何处理 API 中的错误?

转载 作者:太空狗 更新时间:2023-10-30 04:02:57 24 4
gpt4 key购买 nike

我正在编写一个 API,它包装了一些核心基础网络功能,可以返回许多可能的错误条件。我正在努力决定处理 API 使用者应该处理的错误情况的最佳方式(例如网络超时、收到意外结果、格式错误的 XML 等)。我提出了 3 种不同的模型,但不确定要使用哪种模型:

给定一个对象,其方法 takeAction 不返回任何值,我应该通过以下方式处理方法中的错误:

  1. 将方法写成 - (BOOL)takeAction:(NSError **)error 以便消费者知道方法成功或失败,并可以检查错误对象以确定原因,

  2. 将方法写成 - (BOOL)takeAction 这样,再次,消费者知道方法是成功还是失败,然后可以调用 - (NSError *) getLastError 以确定方法失败的原因,或者

  3. 将其写成- (void)takeAction 并发布通知,以便消费者可以订阅通知并传递通知的 userInfo 字典中的 NSError 对象?

哪个更好?

最佳答案

我会选择方法 1。这是 Apple 在其 API 中通常做的事情,例如保存文件等。这种方法的好处是能够快速查看它是通过还是失败(通过返回 bool 值) ,并立即访问错误。这与第 2 项基本相同,但如果需要,您现在可以拥有多个错误对象(而不是只有一个“getLastError”)。当可能连续调用多个容易出错的方法时,这将使跟踪特定错误时的事情变得更加清晰。

关于objective-c - 我应该如何处理 API 中的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2169728/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com