Not quite pointless, IMO. Firstly, documenting an exception should also include specifying the circumstances in which it would be thrown. Knowing what could make a function fail is very useful.

Secondly, you are right that every function that is not marked with `nothrow` is *allowed* to throw by the compiler, but that doesn't mean it ever will. There are several functions in druntime and Phobos that are not marked with `nothrow` even though they never throw, either because no one has taken the time to go through them and annotate them properly, or because of compiler bugs.