我不知道如何處理swift中的運行時錯誤。我需要檢查解析錯誤並做一些事情。任何人都可以幫助我嗎?如何處理swift中的運行時錯誤?
我的代碼是這樣的:
var:SomeObject = parse("some string")
我需要處理髮生在運行時的任何一般性錯誤。 謝謝!
我不知道如何處理swift中的運行時錯誤。我需要檢查解析錯誤並做一些事情。任何人都可以幫助我嗎?如何處理swift中的運行時錯誤?
我的代碼是這樣的:
var:SomeObject = parse("some string")
我需要處理髮生在運行時的任何一般性錯誤。 謝謝!
如果函數是你的,那麼在失敗的情況下,可以使該函數返回一個零值。
這樣,你的代碼
線會變成這樣的事情
var:SomeObject? = parse("some string")
注意的?標誌。這意味着它的值是可選的。簡而言之,它可能是一些實際的價值,或者它可能是零。 此功能後,你應該像
If anObj != nil
{
//do something
}
else
{
//the parse didn't go right, handle the erorr here.
}
斯威夫特2進行檢查,增加了額外的安全性,您的錯誤檢查。您使用會拋出關鍵字來指定哪些函數和方法可能會引發錯誤。那麼你有做,嘗試,並抓關鍵字,當你調用的東西,可能拋出:
// 1
enum ParseError: ErrorType {
case InvalidValue
}
// 2
func parseWithError(value:String) throws {
if value.count > 0 {
// yeaaa!
} else {
// 3
throw ParseError.InvalidValue
}
}
func parse(value:String) {
// 4
do {
try parseWithError(value)
} catch {
print("Could not parse! :[")
return
}
}
有幾件事情在此強調:
更多閱讀here或這是Error Handling
官方文檔這真的取決於正在發生的事情解析功能。你用它做什麼? – 2015-04-01 08:34:51
我解析爲生成一些數學表達式。我需要一般地處理這個錯誤,驗證所有可能出現錯誤的可能性太複雜了。 – russell 2015-04-01 08:36:51
看到這個職位:http://stackoverflow.com/questions/24023112/try-catch-exceptions-in-swift – dimpiax 2015-04-01 08:40:51