unplugin-catch-throw
TypeScript icon, indicating that this package has built-in type declarations

2.0.2 • Public • Published

unplugin-catch-throw

如果你的项目中存在catch捕获异常,但是又未把这个异常抛出,导致项目出现问题无法排查

如果你在做前端监控 - promise异常捕获

当前插件通过在try/catch块或者promise.catch插入Promise.reject,把异常抛出

Install

npm i unplugin-catch-throw -D

⚙️ Options

interface Options {
  include?: FilterPattern
  exclude?: FilterPattern
}

支持注释排除处理

try/catch 支持两种注释方式,new Promise仅支持内联注释

/*! @ignore_catch_throw */
try {
  throw new Error('ignore comment')
}
catch (err) {
  // test
}
try {
  throw new Error('ignore comment')
}
catch (err) {
  /*! @ignore_catch_throw */
}
new Promise((resolve, reject) => {
  setTimeout(() => {
    reject(new Error('ignore comment'))
  })
}).catch(() => {
  /*! @ignore_catch_throw */
})

文件级注释

/*! @ignore_catch_throw-file */

try {
  throw new Error('ignore comment')
}
catch (err) {
  // test
}

const p1 = new Promise((resolve, reject) => {
  setTimeout(() => {
    reject(new Error('p1 rejected'))
  })
}).catch(() => {

})
Vite
// vite.config.ts
import CatchThrow from 'unplugin-catch-throw/vite'

export default defineConfig({
  plugins: [
    CatchThrow({ /* options */ }),
  ],
})

Example: playground/


Rollup
// rollup.config.js
import CatchThrow from 'unplugin-catch-throw/rollup'

export default {
  plugins: [
    CatchThrow({ /* options */ }),
  ],
}


Webpack
// webpack.config.js
module.exports = {
  /* ... */
  plugins: [
    require('unplugin-catch-throw/webpack')({ /* options */ })
  ]
}


Nuxt
// nuxt.config.js
export default defineNuxtConfig({
  modules: [
    ['unplugin-catch-throw/nuxt', { /* options */ }],
  ],
})

This module works for both Nuxt 2 and Nuxt Vite


Vue CLI
// vue.config.js
module.exports = {
  configureWebpack: {
    plugins: [
      require('unplugin-catch-throw/webpack')({ /* options */ }),
    ],
  },
}


esbuild
// esbuild.config.js
import { build } from 'esbuild'
import CatchThrow from 'unplugin-catch-throw/esbuild'

build({
  plugins: [CatchThrow()],
})


Package Sidebar

Install

npm i unplugin-catch-throw

Weekly Downloads

9

Version

2.0.2

License

MIT

Unpacked Size

33.8 kB

Total Files

51

Last publish

Collaborators

  • wenjie.ye