如何在不知道错误类型的情况下在Swift中使用try catch?

时间:2016-05-15 13:37:15

标签: swift

如果我想在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来避免这个问题。

0 个答案:

没有答案