diff --git a/src/lsa.cpp b/src/lsa.cpp
index 8b389f0..5c2cc7a 100644
--- a/src/lsa.cpp
+++ b/src/lsa.cpp
@@ -90,7 +90,7 @@
 }
 
 bool
-NameLsa::deserialize(const std::string& content)
+NameLsa::deserialize(const std::string& content) noexcept
 {
   uint32_t numName = 0;
   boost::char_separator<char> sep("|");
@@ -167,7 +167,7 @@
 }
 
 bool
-CoordinateLsa::deserialize(const std::string& content)
+CoordinateLsa::deserialize(const std::string& content) noexcept
 {
   boost::char_separator<char> sep("|");
   boost::tokenizer<boost::char_separator<char> >tokens(content, sep);
@@ -232,7 +232,7 @@
 }
 
 bool
-AdjLsa::deserialize(const std::string& content)
+AdjLsa::deserialize(const std::string& content) noexcept
 {
   uint32_t numLink = 0;
   boost::char_separator<char> sep("|");
diff --git a/src/lsa.hpp b/src/lsa.hpp
index 859a11b..71da57c 100644
--- a/src/lsa.hpp
+++ b/src/lsa.hpp
@@ -120,8 +120,13 @@
   const ndn::Name
   getKey() const;
 
+  /*! \brief Populate this LSA with content from the string "content".
+    \param content The string containing a valid serialization of LSA content.
+
+    This method populates "this" LSA with data from the string.
+   */
   virtual bool
-  deserialize(const std::string& content) = 0;
+  deserialize(const std::string& content) noexcept = 0;
 
   virtual void
   writeLog() const = 0;
@@ -200,7 +205,7 @@
     getData(); getData() returns data of this format, in other words.
    */
   bool
-  deserialize(const std::string& content) override;
+  deserialize(const std::string& content) noexcept override;
 
   bool
   isEqualContent(const NameLsa& other) const;
@@ -267,7 +272,7 @@
     according to getData().
    */
   bool
-  deserialize(const std::string& content) override;
+  deserialize(const std::string& content) noexcept override;
 
   uint32_t
   getNoLink()
@@ -349,7 +354,7 @@
     same as for getData();
   */
   bool
-  deserialize(const std::string& content) override;
+  deserialize(const std::string& content) noexcept override;
 
   double
   getCorRadius() const
