Yes, unhandled errors will collapse the stack. If you donβt have error handling in your main routine (or in the current event processing procedure), then the error will be minimized to VBA itself, which will either interrupt your program or reset the VBA environment within the host application. (you do not want this).
I can imagine two obvious exceptions to this: one illusory and one real:
1) If VBA is entered through an unexpected event path, instead of the main procedure, it may seem that the Main-routines error handler bypasses with a return error, but in fact it is a different thread, so when it is minimized from the event handler, it goes to VBA regardless main thread of the main program.
2) VBA error handling cannot catch ALL errors, in particular, most FATAL errors cannot be caught by it and the failure (and reset) of the entire VBA environment. Examples of errors.
source share