app/models/DynamoErrors.scala (16 lines of code) (raw):

package models object DynamoErrors { sealed trait DynamoError extends Throwable case class DynamoPutError(error: Throwable) extends DynamoError { override def getMessage = s"Error writing to Dynamo: ${error.getMessage}" } case class DynamoNoLockError(error: Throwable) extends DynamoError { override def getMessage = s"Error writing to Dynamo: ${error.getMessage}" } case class DynamoGetError(error: Throwable) extends DynamoError { override def getMessage = s"Error reading from Dynamo: ${error.getMessage}" } case class DynamoDuplicateNameError(error: Throwable) extends DynamoError { override def getMessage = s"Error writing to Dynamo: ${error.getMessage}" } }