Interesting question.
I know at least some of the Autodesk exceptions have a FunctionId property, which reports the C++ file and line (and function, I think) where the error occurred. I guess these are provided to assist in interop and debugging. As such, I don't think you should throw Autodesk exceptions that have a FunctionId property.
In general, in Revit add-ins, I recommend that you don't let any exception go uncaught, which causes a generic error message box to be shown to the user. Instead, you should either handle the erroneous condition the exception indicates in code (e.g. FileNotFoundException -> try looking for a different file or asking the user to provide a different file) or displaying a useful message to the user that concisely explains what went wrong and what they should do (e.g. when the user tries to give a sheet a number that is already in use, tell them that's what happened and ask for a different name).