If we take it out the compiler says: "exception specification of overriding function is more lax than base version" but only if we continue to extend runtime_error which may not be the right class as you mention above.