diff --git a/splinterpolator.h b/splinterpolator.h
index 6366b83ab3ecc73d3eadc0903bf5982179e6d6a4..87a9c957168498ed49255f837aca1a261f927ff9 100644
--- a/splinterpolator.h
+++ b/splinterpolator.h
@@ -24,16 +24,12 @@ enum ExtrapolationType {Zeros, Constant, Mirror, Periodic};
 
 class SplinterpolatorException: public std::exception
 {
+public:
+  SplinterpolatorException(const std::string& msg) noexcept : m_msg(std::string("Splinterpolator::") + msg) {}
+  ~SplinterpolatorException() noexcept {}
+  virtual const char *what() const noexcept { return(m_msg.c_str()); }
 private:
   std::string m_msg;
-public:
-  SplinterpolatorException(const std::string& msg) throw(): m_msg(msg) {}
-
-  virtual const char *what() const throw() {
-    return std::string("Splinterpolator::" + m_msg).c_str();
-  }
-
-  ~SplinterpolatorException() throw() {}
 };
 
 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@