A while ago when I was trying to figure out how to end a macro completely if something goes wrong in a sub that was called by another main sub, I ended up finding the End statement. It seemed like the cleanest way to stop everything, without having to put an exit sub statement in both subs. Today I was on the MSDN help page for the end statement and it suggests using it sparingly. I haven't run into any trouble so far and it seems like a relatively simple statement. Going forward I may instead start raising user defined errors to stop the process instead.

Does anyone have an opinion on this?