uni-app UniError is not defined

uni-app UniError is not defined

开发环境 版本号 项目创建方式
Windows win11 HBuilderX

产品分类:uniapp/App

PC开发环境操作系统:Windows

PC开发环境操作系统版本号:win11

HBuilderX类型:正式

HBuilderX版本号:4.66

手机系统:Android

手机系统版本号:Android 15

手机厂商:OPPO

手机机型:PJA110

页面类型:nvue

vue版本:vue3

打包方式:云端

项目创建方式:HBuilderX

示例代码:

export class BleError extends UniError implements IBleError { override code : string = ‘-1’ override errCode : number constructor(err_code ?: any, msg ?: string) { super(msg ?? ‘’) if (msg == ‘’) { switch (err_code) { case BLECode.BLE_DISABLE: this.message = ‘蓝牙不可用’ break case BLECode.BLE_SERVER_NOT_FOUND: this.message = ‘远端设备没有找到可用的蓝牙服务’ break case BLECode.BLE_DISCONNECT: this.message = ‘已断开蓝牙连接’ break case BLECode.BLE_NEED_POWER: this.message = ‘需要蓝牙权限’ break case BLECode.BLE_NEED_LOCATION: this.message = ‘需要定位权限’ break case BLECode.BLE_DEVICE_NOT_FOUND: this.message = ‘未找到蓝牙设备’ break case BLECode.BLE_DEVICE_TIMEOUT: this.message = ‘执行超时’ break case BLECode.BLE_DEVICE_NOT_SUPPORT: this.message = ‘蓝牙设备不支持’ break case BLECode.BLE_NEED_SCAN: this.message = ‘需要扫描附近设备权限’ break case BLECode.BLE_NEED_CONNECT: this.message = ‘需要连接权限’ break case BLECode.LOCATION_SERVICE_CLOSE: this.message = ‘位置服务已关闭’ break case BLECode.BLE_SERVER_STOPPED: this.message = ‘蓝牙服务已停止’ break case BLECode.BLE_SCANNING: this.message = ‘正在扫描’ break case BLECode.INVALID_PARAMETER: this.message = ‘不合法的参数’ break case BLECode.IO_ERROR: this.message = ‘IO错误’ break case BLECode.ILLOGIC_DATA: this.message = ‘数据格式错误’ break } } else { this.message = msg ?? ‘’ } this.code = err_code as string this.errCode = -1//需要err_code转number this.name = ‘BleError’ } }


操作步骤:


运行到手机就报错

预期结果:

不报错


实际结果:


19:28:46.010 reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->Uncaught ReferenceError: UniError is not defined

bug描述:

编写UTS插件
在unierror.uts中定义错误类型,继承UniError 报未定义错误


更多关于uni-app UniError is not defined的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

您好,方便发下你编写的uts插件嘛?我这边测试下

更多关于uni-app UniError is not defined的实战教程也可以访问 https://www.itying.com/category-93-b0.html


编译不通过,运行不起来。发了也没用。 1,第1个问题是继承UniError,提示UniError未定义 2,第2个问题是在ts调用插件的方法如startCsan(option:Scanoption),option入参识别成integer。 这两个问题问答社区都有发,但是都没结果

你试试官方写的这个 uts 插件能不能正常运行,https://gitcode.net/dcloud/uni-api/-/tree/master/uni_modules/uni-getbatteryinfo

这是一个常见的UTS插件开发问题。UniError is not defined错误表明编译器无法识别UniError类型。

主要原因是缺少必要的导入语句。在UTS插件中,UniError需要从[@dcloudio](/user/dcloudio)/uni-app模块显式导入。

请在你的unierror.uts文件顶部添加导入语句:

import { UniError } from '[@dcloudio](/user/dcloudio)/uni-app'
回到顶部