diff --git a/tscpp.cpp b/tscpp.cpp
index b078a8c7437f2362719aa73c70803a7c824ed4de..84496dd966a22d3847dff9c75b48bbd9e3cb4f0d 100644
--- a/tscpp.cpp
+++ b/tscpp.cpp
@@ -160,11 +160,7 @@ void UnknownInputArchive::unserialize()
     auto pos=is.tellg();
     string name;
     getline(is,name,'\0');
-    if(is.eof())
-    {
-        is.seekg(pos);
-        throw TscppException("eof");
-    }
+    if(is.eof()) throw TscppException("eof");
 
     tp.unserializeUnknownImpl(name,is,pos);
 }
diff --git a/tscpp.h b/tscpp.h
index 9b5070292da56cdeb2038c7c1896ac342666ec81..0d0664d880f347719b6d5cb650d3460522d193ad 100644
--- a/tscpp.h
+++ b/tscpp.h
@@ -346,6 +346,7 @@ public:
      * } catch(TscppException& ex) {
      *     if(ex.name().empty()==false)
      *         cerr<<"While unserializing Foo, "<<demangle(ex.name())<<" was found\n";
+     *     else cerr<<ex.what()<<endl;
      * }
      * \endcode
      * \return the serialized type name, or "" if eof was found