2015-06-29 75 views
4

我想快速崩潰,測試我的應用程序的一些崩潰處理功能。快速崩潰最簡單的方法是什麼?

在C++中,我通常取消引用NULL指針要做到這一點,就像這樣:

int *i = 0; 
*i = 42; 

怎麼產生迅速崩潰的最簡單方法是什麼?

+1

部隊展開一個可選 – milo526

回答

9

可以使用強制展開操作上無可選變量:

let number: Int? = nil 
let val = number! 

這應該拋出這樣一個異常:

fatal error: unexpectedly found nil while unwrapping an Optional value

但是你也可以用更優雅的方式做您的應用程序崩潰,使用全局函數fatalError,該函數會停止程序執行 - 但它會接受一些參數,這取決於您試圖實現的內容:

@noreturn func fatalError(@autoclosure message:() -> String = default, file: StaticString = default, line: UWord = default) 
2

一個更簡單的方法,以使迅速崩潰:

let testArray = ["1","2","3"] 
let a = testArray[4] 

這會拋出這樣的例外:

fatal error: Array index out of range

因爲你試圖訪問數組的成員中不存在的該指數。

3

其實,我自己找到了另一種方式(儘管我不確定它是否是iOS特有的)。

簡單地調用中止將做的工作:

abort() 
相關問題