On the "set objects to nothing" viewpoint, we had a discussion some time ago regarding the need to cause recordsets to close, optionally followed by setting them to nothing in certain cases dealing with SMB v2 or v3 because of the "reserved buffer" bug/feature. The "Close" was the critical part. Didn't matter about releasing the implied data structure later. It was a Microsoft product person who provided us with links to the articles that said there were specific times when you should not trust the automatic reclamation that occurs after an End Sub. There is also the point that whether you set it to Nothing or not, there are certain app objects that you MUST force to quit/exit because the app objects have a life that is parallel to rather than subservient to the Access parent process.
I will state clearly that as a matter of trying to avoid regaining a bad habit, I set object variables to nothing in VBA after closing them. However, my motive is to avoid getting into that bad habit in other languages that aren't as forgiving as VBA about automatic object reclamation. Also, since I tend to make some objects Public, testing to see if they are Nothing is useful as a flag, so I set the objects to Nothing when I don't want the current or most recent instantiation re-used (to avoid accidents to something left open).
As to writing error code, there are times when I let something run without traps, but if you are using Outlook, there are cases where you will get an error 287 (Application-defined error) where the correct conclusion is to "Resume Next" - but other errors need to be handled in order to avoid getting trapped into the Access "Last Chance" handler. If using CDO, you probably need to have trap handlers in place to test for errors.
If you are dealing with user inputs, error handling is probably a good idea because users tend to be the best bug-finders in the known universe. Or at least the U.S. Dept. of Defense civil service folks were good at it. Where we couldn't provide drop-downs of any kind because input had to be free-form, folks found ways to screw up 2+2. Stated another way, artificial intelligence cannot cope with natural stupidity.