MST

星途 面试题库

面试题:JavaScript中常见的错误类型及处理方式

请列举JavaScript中至少三种常见的错误类型,并分别说明如何使用try - catch语句进行捕获和处理。
19.7万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
  • 语法错误(SyntaxError)

    • 说明:当JavaScript代码不符合语法规则时会抛出该错误,例如遗漏了括号、引号不匹配等。这类错误在代码解析阶段就会被发现,try - catch无法捕获,因为代码根本无法执行到try块。
    • 示例var a = 1 +,这里1 +后面缺少操作数,语法错误。
  • 引用错误(ReferenceError)

    • 说明:当使用一个未声明的变量时会抛出此错误。在try - catch块中捕获后,可以根据具体情况进行处理,比如给变量赋值或记录错误日志。
    • 捕获处理示例
try {
    console.log(undefinedVariable);
} catch (error) {
    if (error instanceof ReferenceError) {
        console.error('引用错误:', error.message);
    }
}
  • 类型错误(TypeError)
    • 说明:当操作或函数尝试以不正确的类型使用值时抛出,例如对非函数类型的值调用函数,或者访问对象不存在的属性。捕获后可针对具体类型错误情况进行提示或处理。
    • 捕获处理示例
try {
    var num = 123;
    num();// num不是函数,会抛出TypeError
} catch (error) {
    if (error instanceof TypeError) {
        console.error('类型错误:', error.message);
    }
}
  • 范围错误(RangeError)
    • 说明:当一个值超出了有效范围时抛出,比如数组长度设置为负数,或者Number.toFixed()方法的参数超出范围等。捕获后可调整相关值到合法范围。
    • 捕获处理示例
try {
    var arr = new Array(-1);
} catch (error) {
    if (error instanceof RangeError) {
        console.error('范围错误:', error.message);
    }
}