当我的应用程序启动时,我会执行以下操作:
do {
try complexStartUpRoutine()
} catch let error {
fatalError("Failed to launch: \(error)")
}
函数complexStartUpRoutine
包含许多可以在不被捕获的情况下抛出错误的地方,此外,还会抛出并捕获许多错误,这是完全可以的。只有未被捕获的错误才会导致致命错误。
有时在开发过程中,我可能会引入错误或错误地修改导致complexStartUpRoutine
错误的资产,并且在调用{{1}时将错误的内容打印到控制台}}
不幸的是,抛出的错误通常可能发生在任何地方,并且它本身并没有真正帮助我追踪它发生的位置。我真正想要的是在抛出错误时的堆栈跟踪,但我不确定如何获取它:
fatalError
内有许多有效的尝试/捕获,我想忽略它们。只有导致complexStartUpRoutine
抛出问题的错误。complexStartUpRoutine
中报告的特定错误(通过设置'类型'' Swift错误'断点)仅有轻微帮助,因为作为复杂功能的一部分,可能会抛出相同的错误并捕获数百次。此外,无论如何,我只有少量的运气让断点以这种方式工作。有没有一种方法可以让Xcode在错误被抛出的时刻中断,但是没有被fatalError
捕获?