(defn- serialize-64 [x]
  (let [baos (ByteArrayOutputStream.)]
    (.writeObject (ObjectOutputStream. baos) x)
    (String. (.encode (Base64.) (.toByteArray baos)))))

(defn- throw-form [e]
  `(throw (-> (.decode (Base64.) ~(serialize-64 e))
              ByteArrayInputStream. ObjectInputStream. .readObject)))

Generated by Phil Hagelberg using scpaste at Fri Nov 4 14:06:08 2011. PDT. (original)