我使用Puppeteer库打开一个URL并处理所有请求的响应.有时在事件监听器page.on(‘response’)中我需要抛出一个错误,如下例所示.但是我无法以任何方式捕获这些异常,我总是得到未处理的承诺
          const puppeteer = require('puppeteer');
(async () => {
    try {
        const browser = await puppeteer.launch();
        const page = await browser.newPage();
        page.on('response', (request) => {
            throw 'response error';
        });
        await page.goto('http://google.com/');
        browser.close();
    } catch (e) {}
})();
 为避免该错误,您需要做的就是捕获异步函数的结果,这是一个Promise,并以某种方式处理它,即使只是通过console.error进行管道传输. 
  
  
 const puppeteer = require('puppeteer');
(async () => {
    try {
        const browser = await puppeteer.launch();
        const page = await browser.newPage();
        page.on('response', (request) => {
            throw 'response error';
        });
        await page.goto('http://google.com/');
        browser.close();
    } catch (e) {}
})().catch(console.error);
        
             