我不知道如何在swift中处理运行时错误。我需要检查解析错误并对其执行某些操作。有人可以帮帮我吗?
我的代码是这样的:
var:SomeObject = parse("some string")
我需要处理运行时发生的任何一般错误。 谢谢!
答案 0 :(得分:0)
如果函数是你的,那么在失败的情况下,你可以使该函数返回一个nil值。
这样你的代码行
var anObj:SomeObject = parse("some string")
会变成这样的东西
var:SomeObject? = parse("some string")
注意?标志。这意味着它中的值是Optional。简单来说,它可能是一些实际值,或者它可能是零。 完成此功能后,您应该执行类似
的检查If anObj != nil
{
//do something
}
else
{
//the parse didn't go right, handle the erorr here.
}
答案 1 :(得分:0)
Swift 2为您的错误检查增加了额外的安全性。您可以使用 throws 关键字指定哪些函数和方法可能会引发错误。然后,当您调用可能抛出的内容时,您有执行,尝试和捕获关键字:
// 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
的官方文档