Citation:
If the use of the temporary object can be eliminated without changing the meaning of the program except for the execution of constructors and destructors associated with the use of the temporary object (12.2), then the exception in the handler can be initialized directly with the argument of the throw expression. When the thrown object is a class object, and the copy constructor used to initialize the temporary copy is not accessible, the program is illformed (even when the temporary object could otherwise be eliminated). Similarly, if the destructor for that object is not accessible, the program is illformed (even when the temporary object could otherwise be eliminated).