def wrap(cls, exception, name=None):
        """Create an exception that is a subclass of the calling HTTP
        exception and the ``exception`` argument.

        The first argument to the class will be passed to the
        wrapped ``exception``, the rest to the HTTP exception. If
        ``self.args`` is not empty, the wrapped exception message is
        added to the HTTP exception description.

        .. versionchanged:: 0.15
            The description includes the wrapped exception message.
        """

        class newcls(cls, exception):
            def __init__(self, arg=None, *args, **kwargs):
                super(cls, self).__init__(*args, **kwargs)

                if arg is None:
                    exception.__init__(self)
                else:
                    exception.__init__(self, arg)

            def get_description(self, environ=None):
                out = super(cls, self).get_description(environ=environ)

                if self.args:
                    out += "<p><pre><code>{}: {}</code></pre></p>".format(
                        exception.__name__, escape(exception.__str__(self))
                    )

                return out

        newcls.__module__ = sys._getframe(1).f_globals.get("__name__")
        newcls.__name__ = name or cls.__name__ + exception.__name__
        return newcls
Create an exception that is a subclass of the calling HTTP
        exception and the ``exception`` argument.

        The first argument to the class will be passed to the
        wrapped ``exception``, the rest to the HTTP exception. If
        ``self.args`` is not empty, the wrapped exception message is
        added to the HTTP exception description.

        .. versionchanged:: 0.15
            The description includes the wrapped exception message.
        
Solutions/CyberArkAudit/Data Connectors/.python_packages/lib/site-packages/azure/functions/_thirdparty/werkzeug/exceptions.py