如果我想在Swift2中创建一个会抛出错误的函数。但我不想一直使用try!
。我使用这样的代码,但它没有用。
enum MyError: ErrorType {
case aError
}
func afun() throws -> AnyObject? {
guard 1>2 else {
throw MyError.aError
}
return nil
}
func bfun() {
try! afun()
}
do {
try bfun()
}
catch {
print("error appear")
}
它将显示如下 执行被中断,原因是:EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP,子代码= 0x0)。 但我希望我可以打印错误日志并运行下一个其他代码。
或者如果我想写这样的代码:
do {
try 3/0
} catch {
print("error")
}
我不知道错误类型,但我不能使用try catch来避免这个问题。