Обработка исключений запросов Scala Anorm

Я хотел бы понять, как лучше всего обрабатывать исключения с помощью Anorm, используя функции Scala Try and match.

Учитывая запрос

database.withConnection { implicit c =>
  SQL("Select 1").execute()
}

Как бы я ловил исключения? Я представляю что-то вроде

match {
   case Success(?) => ?
   case Failure(ex) => println(ex) ? 
}

Любой рабочий пример будет высоко оценен. Я хотел бы иметь возможность изящно обрабатывать любые непредвиденные исключения, связанные с базой данных.


person Rob    schedule 18.05.2018    source источник
comment
Несколько примеров приведены здесь и здесь. Может чем поможет.   -  person wwkudu    schedule 19.05.2018


Ответы (1)


Возвращаемые значения методов withConnection, withTransaction и т. д. зависят от блока кода, который вы выполняете.

В вашем примере вы вызываете метод .execute(), который возвращает логическое значение. то есть true для успеха и false для отказа.

Если вам нужен более подробный результат в случае выполнения, вы можете использовать вместо него .executeQuery()

person airudah    schedule 12.09.2018