Yes, you can do g ++ ignore throw by:
#define throw(x)
For the rest, you need to change the compiler code or make your own script / program during the build process, which will check these things, it can be easily done with a regular expression.
Edit:
about your comment, finding an exception hierarchy is easy. use regexp like:
class ([^ ]*) : ([^ ]*)
and enter it in the hash, and then execute the hierarchical data.
To match exceptions in functions that use them, use:
([^\(\s]*)[\s]*([^\)])[\s]*(throw[\s]*\([^\)]*\)){((throw[\s]*[^;])|*)*}
it was not tested and might have some errors, but a good place to run
Dani source share