[INTERNAL] added macros to automatically declare and define assignment operator, copy constructor, and destructor for exceptions to prevent auto-generation