Как получить доступ к ошибке выполнения БД при использовании MySQL для Swift
Вот фрагмент кода (здесь mysql является экземпляром MySQL для 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.
}
В 1-й строке раздела catch оператор print может выдать реальное сообщение об ошибке из DB, но во 2-й строке возвращается только общий оператор:The operation couldn’t be completed. (MySQL.Error error 6.)
Как получить доступ к подчеркивающему сообщению об ошибке из базы данных?
1 ответ
Вам нужно специально поймать MySQLError
так что вы можете получить доступ к его свойствам.
} catch let error as MySQLError {
print(error.reason)
}
https://github.com/vapor/mysql/blob/master/Sources/MySQL/Error.swift