Recover using recoverWith
. As all exceptions will be of type PSQLException, check if certain keywords exist in message of the exception to handle it.
val future = db.run { groupsTableQuery returning groupsTableQuery += groups }
future.recoverWith {
case ex: PSQLException =>
val msg = ex.getMessage
//check message for keywords for specific errors
Future.successful(0)
case ex => Future.failed(ex)
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…