uni-app uniAdmin JS 异常在控制台不提示

uni-app uniAdmin JS 异常在控制台不提示

示例代码:

test(){
let a=b.c;
console.log(a);
}

操作步骤:

点击一个按钮,执行实例代码,

预期结果:

控制台输出:Uncaught ReferenceError: b is not defined

实际结果:

控制台没任何反应

bug描述:

uniAdmin项目里, 执行一行代码,访问一个不存在变量的属性,控制台不报异常,JS 直接把异常吞了

2 回复

未复现该 bug

更多关于uni-app uniAdmin JS 异常在控制台不提示的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在 uni-app 的 uniAdmin 项目中,JS 异常被静默处理是常见问题。这通常由以下原因导致:

  1. 框架错误拦截机制:uni-app 在部分环境下会封装全局错误捕获,导致控制台不显示未捕获异常。

  2. 开发环境配置差异:检查是否启用了 debug 模式,在 manifest.json 中确认以下配置:

{
  "h5": {
    "devServer": { "disableHostCheck": true }
  },
  "app-plus": {
    "debug": true
  }
}
  1. Vue 错误处理:uniAdmin 基于 Vue,可能使用了 Vue.config.errorHandler 拦截了错误。可在 main.js 中添加:
Vue.config.errorHandler = function (err) {
  console.error('Vue error:', err);
};
  1. 异步代码包装:若代码被包裹在 Promise 或异步函数中,需使用 catch 捕获:
test().catch(err => console.error(err));

建议直接使用 try-catch 块显式捕获错误:

test(){
  try {
    let a = b.c;
    console.log(a);
  } catch (err) {
    console.error('Error:', err);
  }
}
回到顶部