Wouldn't this be much more suitable to do in an IDE or compiler? Raising exceptions during runtime seems the wrong approach to me. I wouldn't be suprised if this is possible and used in e.g. Mylyn.
Another idea would be to automatically create a task/bug/issue for every TODO created (which closes when the TODO is removed)