swan.onError

基础库 3.60.2 开始支持,低版本需做兼容处理

解释: 监听小程序错误事件。如脚本错误或API调用报错等。该事件与 App.onError 的回调时机与参数一致。

方法参数

Function callback

callback 参数说明

小程序错误事件的回调函数。

callback 返回参数说明

错误信息,包含堆栈。

示例

扫码体验

代码示例

百度智能小程序

请使用百度APP扫码

图片示例

swan.onError - 图2

代码示例 1:在生命周期的 onError 中使用

在开发者工具中打开

在开发者工具中打开

在 WEB IDE 中打开

  • JS
  1. App({
  2. onError(err) {
  3. console.log('catch error', err);
  4. swan.showModal({
  5. content: JSON.stringify(err)
  6. });
  7. }
  8. });

代码示例 2:等同于示例一的另一种写法

在开发者工具中打开

在开发者工具中打开

在 WEB IDE 中打开

  • JS
  1. App({
  2. onLaunch() {
  3. swan.onError(function(errMsg) {
  4. console.log('catch error', errMsg);
  5. swan.showModal({
  6. content: JSON.stringify(errMsg)
  7. });
  8. });
  9. };
  10. });

代码示例 3:可根据开发者的业务逻辑调整用法

在开发者工具中打开

在开发者工具中打开

在 WEB IDE 中打开

  • JS
  1. Page({
  2. onTap() {
  3. swan.showToast({
  4. title: '已触发',
  5. icon: 'none'
  6. });
  7. swan.onError(function(errMsg) {
  8. console.log('catch error', errMsg);
  9. swan.showModal({
  10. content: JSON.stringify(errMsg),
  11. complete: () => {
  12. swan.offError();
  13. }
  14. })
  15. });
  16. // 报的错会被捕获到
  17. throw new Error('这是一个页面报错');
  18. }
  19. });