When an exception is a pointer, it is difficult for the code that catches the exception to determine whether or not it needs to delete the
pointed-to object. It is even more complicated than a traditional manual memory management scenario because the throw
and the
corresponding catch
can be far apart.