swan.onError

基础库 3.60.2 开始支持,低版本需做兼容处理swan.onError - 图1

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

方法参数:

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

callback返回参数说明 :

Object error错误信息,包含堆栈。

示例

扫码体验

swan.onError - 图2请使用百度APP扫码

图片示例

swan.onError - 图3

swan.onError - 图4

swan.onError - 图5

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

在开发者工具中预览效果

  1. // app.js
  2. App({
  3. onLaunch(res) {
  4. },
  5. onError(err) {
  6. console.log('catch error');
  7. swan.showModal({
  8. title: '',
  9. content: JSON.stringify(err)
  10. });
  11. }
  12. });

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

在开发者工具中预览效果

  1. // app.js
  2. App({
  3. onLaunch() {
  4. swan.onError(function(errMsg) {
  5. console.log('catch error');
  6. console.log(errMsg);
  7. swan.showModal({
  8. title: '',
  9. content: JSON.stringify(errMsg)
  10. });
  11. });
  12. };
  13. });

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

在开发者工具中预览效果

  1. Page({
  2. data: {},
  3. onTap() {
  4. swan.showToast({
  5. title: '已触发',
  6. icon: 'none'
  7. });
  8. swan.onError(function(errMsg) {
  9. console.log('catch error', errMsg);
  10. swan.showModal({
  11. title: '',
  12. content: JSON.stringify(errMsg),
  13. success: res => {
  14. swan.offError();
  15. },
  16. fail: err => {
  17. }
  18. })
  19. });
  20. }
  21. });