我一直在关注一些教程并构建了一个我想发布的应用程序,但我不确定如何处理错误处理。
教程教你如do-catch块之类的东西,但每当它们处理抛出错误的情况时,它们只是将错误记录到控制台,这在生产环境中显然是无益的。
此外,do-catch块的一些示例似乎没什么用处。作为一个例子,我使用Realm数据库作为我的应用程序的核心部分,我被告知在AppDelegate中初始化它的方式是这样的:
do {
_ = try Realm()
} catch {
// TODO: - Handle Exception
}
但是在这种情况下,由于领域是我的应用程序的核心部分,我甚至不介意它是否会崩溃应用程序,因为如果它没有正确启动它将会在以后崩溃。
有很明显的情况我应该向用户显示错误(例如,如果您尝试连接到API但没有wifi),或者可以提供默认值,但我不会知道该怎么做。
答案 0 :(得分:3)
处理错误没有一个好方法,因为如何完全处理错误取决于具体情况。
但是,一般情况下,有一些错误处理指南:
try!
,则只能使用Realm.init()
和类似的强制方法(强制解包等)在应用程序的生命周期中第一次调用它时出错,因此在Realm
的第一次实例化之后,您可以安全地执行try! Realm()
)或者如果错误代表程序员错误(例如文件不在正确的位置,这是应用程序所需的,但请确保在开发阶段确实纠正了这些错误