我想快速崩溃,测试我的应用程序的一些崩溃处理功能。
在C ++中,我通常取消引用 NULL 指针来执行此操作,如下所示:
int *i = 0;
*i = 42;
在swift中生成崩溃的最简单方法是什么?
答案 0 :(得分:11)
您可以在nil可选变量上使用强制解包运算符:
let number: Int? = nil
let val = number!
这应该抛出这样的例外:
致命错误:在解包可选值时意外发现nil
然而,您也可以使用更优雅的方式使您的应用程序崩溃,使用fatalError
全局函数来停止程序执行 - 但它接受一些可能有用的参数,具体取决于您尝试的内容实现:
@noreturn func fatalError(@autoclosure message: () -> String = default, file: StaticString = default, line: UWord = default)
答案 1 :(得分:4)
实际上,我自己找到了另一种方式(虽然我不确定它是否具有iOS特定性)。
只需拨打 abort 即可完成任务:
abort()
答案 2 :(得分:3)
快速崩溃的另一种简单方法:
let testArray = ["1","2","3"]
let a = testArray[4]
这将抛出这样的异常:
致命错误:数组索引超出范围
因为您正在尝试访问该索引中不存在的数组成员。
答案 3 :(得分:0)
只需在代码中添加fatalError()。
fatalError()