summaryrefslogtreecommitdiff
path: root/src/main/scala/cc/spray/json/package.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/cc/spray/json/package.scala')
-rw-r--r--src/main/scala/cc/spray/json/package.scala11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/main/scala/cc/spray/json/package.scala b/src/main/scala/cc/spray/json/package.scala
index f080312..1bc592f 100644
--- a/src/main/scala/cc/spray/json/package.scala
+++ b/src/main/scala/cc/spray/json/package.scala
@@ -19,8 +19,11 @@ package cc.spray
package object json {
type JsField = (String, JsValue)
-
- def jsonReader[T](implicit reader: JsonReader[T]) = reader
+
+ def deserializationError(msg: String, cause: Throwable = null) = throw new DeserializationException(msg, cause)
+ def serializationError(msg: String) = throw new SerializationException(msg)
+
+ def jsonReader[T](implicit reader: JsonReader[T]) = reader
def jsonWriter[T](implicit writer: JsonWriter[T]) = writer
implicit def pimpAny[T](any: T): PimpedAny[T] = new PimpedAny(any)
@@ -28,6 +31,10 @@ package object json {
}
package json {
+
+ class DeserializationException(msg: String, cause: Throwable = null) extends RuntimeException(msg, cause)
+ class SerializationException(msg: String) extends RuntimeException(msg)
+
private[json] class PimpedAny[T](any: T) {
def toJson(implicit writer: JsonWriter[T]): JsValue = writer.write(any)
}