diff options
author | Mathias <mathias@spray.cc> | 2011-12-07 10:38:29 +0100 |
---|---|---|
committer | Mathias <mathias@spray.cc> | 2011-12-07 10:38:29 +0100 |
commit | 6a5ccb2e6c37f7922db34f29c1f9cfd61a2397e8 (patch) | |
tree | 5b58cf9463bf300e92f6eedb5042f5e4c5b6e93a /src/main/scala/cc/spray/json/package.scala | |
parent | fd80c9099d4d474a6080df11a5786bd7e9b5cb7f (diff) | |
download | spray-json-6a5ccb2e6c37f7922db34f29c1f9cfd61a2397e8.tar.gz spray-json-6a5ccb2e6c37f7922db34f29c1f9cfd61a2397e8.tar.bz2 spray-json-6a5ccb2e6c37f7922db34f29c1f9cfd61a2397e8.zip |
Move exception into package.scala, simplify throwing of (De)SerializationExceptions
Diffstat (limited to 'src/main/scala/cc/spray/json/package.scala')
-rw-r--r-- | src/main/scala/cc/spray/json/package.scala | 11 |
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) } |