title: good or bad practice to make pure virtual functions noexcept
body: <p>Is it good or bad practice to make pure virtual functions noexcept? I always thought we should not put extra restriction on its implementation classes that their implementation should be no throw since putting this may result in modification in implementation and unnecessary try catch blocks to prevent exception escape. i thought implementation should decide whether function can marked as noexcept not the exception specification should decide implementation?</p>
  
  <p>Can some one please correct me if i am wrong here?</p>