我使用for-循环来迭代数组。当索引超出界限时,异常断点不会在错误点停止。
我的代码
class ViewController: UIViewController
{
let integers = [1, 2, 3]
override func viewDidLoad()
{
super.viewDidLoad()
iterate(givenArray: integers)
}
func iterate(givenArray: [Int])
{
for index in 0...givenArray.count
{
print(givenArray[index])
}
}
}我在控制台上得到了以下错误。
1 2 3致命错误:索引超出范围2020-01-06 14:29:09.726533+0530 2020 93060:2221772致命错误:超出范围索引
我明白这个错误。我的问题是,虽然我增加了例外断点,但为什么它不起作用?
发布于 2020-01-28 11:42:24
对fatalError()的调用并不等于抛出异常,因此它并不是与异常断点分离,而是更严重。
您可以认为这表明您的应用程序处于一种不应该尝试恢复的状态,并且始终会导致应用程序退出。
有一些创造性的ways1可以中断对fatalError的调用,但我认为最好将此视为应该修复的代码错误,并以这种方式防范错误,而不是试图在运行时处理错误。
1- Break on any occurrence of "fatal error: unexpectedly found nil while unwrapping an Optional value"
发布于 2020-01-28 13:34:43
请记住,Swift中发生的错误不是例外,而是简单的错误(NSError,无论哪种错误基于ErrorType,.)。
不要将符号断点与异常断点混合在一起。不同的动物。记住这一点。当您试图在Xcode中设置异常检查点时,没有Swift。可能主要原因是,放弃的错误也不例外,而且他们还没有找到其他地方的put.Add点手动!
https://stackoverflow.com/questions/59609274
复制相似问题