async def METHOD_NAME(self):
    """Listen for JS errors and when the contextmanager exits check if
    there were JS Errors.
    :Usage:
         ::
            async with driver.log.add_js_error_listener() as error:
                driver.find_element(By.ID, "throwing-mouseover").click()
            assert bool(error)
            assert error.exception_details.stack_trace.call_frames[0].function_name == "onmouseover"
    """
    session = self.cdp.get_session_context("page.enable")
    await session.execute(self.devtools.page.enable())
    session = self.cdp.get_session_context("runtime.enable")
    await session.execute(self.devtools.runtime.enable())
    js_exception = self.devtools.runtime.ExceptionThrown(None, None)
    async with session.wait_for(self.devtools.runtime.ExceptionThrown) as exception:
        yield js_exception
    js_exception.timestamp = exception.value.timestamp
    js_exception.exception_details = exception.value.exception_details