Exception Safety in Polymorphism: Exception safety in polymorphism can be difficult to achieve because a derived class may override a virtual function in a way that throws an exception that is not handled by the base class. To ensure exception safety in polymorphism, it is important to document the exceptions that may be thrown by a class and its derived classes, and to handle exceptions appropriately.