1. TypeError类

表示变量或者参数不是预期的类型,大概率变量或者参数赋值时候异常,导致为underfind类型了,如对非对象类型使用对象方法underfind.method()。可以检查报错的变量或者参数赋值时候否异常。

应用规避处理方法:

  1. 判空处理,若为空,进行一些逻辑处理,或者再次赋值或者拿默认值等等

  2. 使用可选链运算符(?.)访问的对象或调用的函数是 undefined 或 null,则表达式会短路并计算为 undefined,而不是抛出错误

  3. 使用try-catch捕获异常处理

  1. SyntaxError类

语法错误,表示有不符合编程规范的语法规范,检查报错位置的语法是否符合规范。(如拼写错误、缺少括号、错误的标点符号)

  1. ReferenceError类

引用错误,尝试访问未定义的变量或函数时触发,检查变量或者函数是否未定义

  1. URIError类

URI 错误,encodeURI()、decodeURI() 等函数处理非法编码时触发,检查url是否合法

  1. RangerError 类

表示超出有效范围发生的异常,主要可能有以下情况:

  1. 数组范围超出限制,数组长度为负值或超出长度

  2. 数字类型的方法参数超出预定义范围,字符串操作超出范围

  3. 函数调用栈超出最大值,递归过深导致栈溢出

应用规避处理方法:

  1. 使用try-catch捕获异常处理

  2. 分析错误堆栈定位错误地方,检查参数来源是否异常。可以使用编辑器自带的AnalyzStackTrace去解析堆栈定位具体报错位置以及调用的完整链路

  1. 参数使用前进行参数校验,确保在有效范围内,避免非法参数

  2. 检查递归深度,是否有死循环导致栈溢出

Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐