我想快速崩潰,測試我的應用程序的一些崩潰處理功能。快速崩潰最簡單的方法是什麼?
在C++中,我通常取消引用NULL指針要做到這一點,就像這樣:
int *i = 0;
*i = 42;
怎麼產生迅速崩潰的最簡單方法是什麼?
我想快速崩潰,測試我的應用程序的一些崩潰處理功能。快速崩潰最簡單的方法是什麼?
在C++中,我通常取消引用NULL指針要做到這一點,就像這樣:
int *i = 0;
*i = 42;
怎麼產生迅速崩潰的最簡單方法是什麼?
可以使用強制展開操作上無可選變量:
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)
一個更簡單的方法,以使迅速崩潰:
let testArray = ["1","2","3"]
let a = testArray[4]
這會拋出這樣的例外:
fatal error: Array index out of range
因爲你試圖訪問數組的成員中不存在的該指數。
其實,我自己找到了另一種方式(儘管我不確定它是否是iOS特有的)。
簡單地調用中止將做的工作:
abort()
部隊展開一個可選 – milo526