OBJECT_NAME is a module level constant and ‘PROC_NAME is a procedure level constant. You need these because not all objects know their own names, and procedures certainly don’t. Use the following error handler everywhere except on the user interface. When the error is displayed on the top level interface the full call stack will be revealed.
On Error Goto PropagatingErrorHandler'...do your thingExit Sub 'Sub/Function/PropertyPropagatingErrorHandler: Debug.Assert False 'make sure we stop for the programmer Err.Raise Err.Number, _ App.Title &