Exception specifications never really provided any advantages in C++. They have been deprecated since C++11 and removed since C++17 (specification
with an exception) and C++20 (empty throw specification). If your code still contains some, you should replace empty throw()
specifications with noexcept
and remove any other specifications.
Noncompliant code example
void f() throw(); // Noncompliant
void g() throw(std::exception); // Noncompliant
Compliant solution
void f() noexcept;
void g();
Exceptions
If a derived class overrides a function with a dynamic exception specification, then the derived function is forced to add a compatible exception
specification. Such exception specifications are ignored.