快速崩溃的最简单方法是什么?

时间:2015-06-29 07:45:02

标签: swift crash

我想快速崩溃,测试我的应用程序的一些崩溃处理功能。

在C ++中,我通常取消引用 NULL 指针来执行此操作,如下所示:

int *i = 0;
*i = 42;

在swift中生成崩溃的最简单方法是什么?

4 个答案:

答案 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()