使用MySQL for Swift时如何访问数据库执行错误

时间:2017-03-28 20:37:10

标签: swift vapor

这是片段(此处mysql是MySQL for Swift的一个实例):

do {
    try mysql.execute("INSERT INTO ...")
} catch {
    print(error) // here will print out the actual MySQL error message
    return error.localizedDescription // return "The operation couldn’t be completed. (MySQL.Error error 6.)" The real message from the DB is lost.
}

在catch部分的第1行中,print语句能够从DB中吐出真实的错误消息,但第二行只返回一个通用语句: The operation couldn’t be completed. (MySQL.Error error 6.)

如何从数据库中访问下划线错误消息?

1 个答案:

答案 0 :(得分:0)

您需要专门捕获MySQLError,以便访问其属性。

} catch let error as MySQLError {
    print(error.reason)
}

https://github.com/vapor/mysql/blob/master/Sources/MySQL/Error.swift#L8