美文网首页
js的错误类型

js的错误类型

作者: Yinzhishan | 来源:发表于2023-08-24 11:19 被阅读0次

完整的 try ... catch ... finally:

try { //正确时执行
    ...
} catch (e) { //发送错误时执行
    ...
} finally { //都会执行
    ...
}

常见的 6 种错误类型

以下的 6 种派生错误,连同原始的 Error 对象,都是构造函数。开发者可以使用它们,认为生成错误对象的实例。

new Error([message[,fileName[,lineNumber]]]),

第一个参数表示错误提示信息,第二个是文件名,第三个是行号。

  1. SyntaxError:语法错误

    解析代码时,发现存在语法错误就抛出这个错误.
    变量名不符合规范
    给关键字赋值 等

  2. ReferenceError: 引用错误

    引用了不存在的变量
    给不能赋值的对象赋值

  3. RangeError:范围错误

    RangeError 是当一个值超出有效范围时发生的错误。主要有几种情况,第一是数组长度为负值,第二是 Number 对象的方法参数超出范围,以及函数堆栈超过最大值。

  4. TypeError: 类型错误

    变量或参数不是预期的类型是发生的错误,比如使用 new 字符串、布尔值等原始类型和调用对象不存在的方法就会抛出这种错误,因为 new 命令的参数是一个构造函数

  5. URIError:URL 错误

    主要是相关函数的参数不正确,URI 相关参数不正确时抛出的错误,主要涉及 6 个函数 encodeURI()decodeURI()decodeURIComponent()encodeURIComponent()escape()unescape()

  6. EvalError: eval() 函数执行错误

    在 ES5 一下的 JavaScript 中,当 eval 函数没有被正确执行时,就会抛出 EvalError 错误,ES5 以上的 JavaScript 中已经不再抛出此错误,但依然可以通过 new 关键字来自定义该类型的错误提示

throw 语句抛出错误

通过 new 关键字来自定义该类型的错误提示,同时让程序主动抛出一个错误,让执行流程直接跳转到catch

var r, n, s;
try {
  s = prompt("请输入一个数字");
  n = parseInt(s);
  if (isNaN(n)) {
    throw new Error("输入错误"); // 定义一个错误,并且让程序主动抛出
  }
  // 计算平方:
  r = n * n;
  console.log(n + " * " + n + " = " + r);
} catch (e) {
  console.log("出错了:" + e);
}

Error 的传播途径

如果在一个函数内部发生了错误,它自身并没有捕获,错误就会被抛出到外层调用函数,如果外层函数也没有捕获,该错误就是沿着函数调用链向上传递,知道被 JavaScript 引擎捕获,代码终止执行,所以我们不必在每一个函数内部捕获信息,字需要在合适的地方来统一捕获处理即可。

"use strict";

function main(s) {
  console.log("BEGIN main()");
  try {
    foo(s);
  } catch (e) {
    console.log("出错了:" + e);
  }
  console.log("END main()");
}

function foo(s) {
  console.log("BEGIN foo()");
  bar(s);
  console.log("END foo()");
}

function bar(s) {
  console.log("BEGIN bar()");
  console.log("length = " + s.length);
  console.log("END bar()");
}

main(null);

/*输出
BEGIN main()
BEGIN foo()
BEGIN bar()
出错了:TypeError: s is null
END main()
*/

相关文章

  • Promise - 03 promise 学习前准备:JS 中的

    JS 中的 error 处理 1: 错误类型: Error: 所有错误的父类型ReferenceError: 引...

  • 2018-07-30

    js原生错误代码 js常见错误类型 (1)SyntaxError SyntaxError是解析代码时发生的语法错误...

  • 前端错误监控与上报

    错误类型 我们一般比较关心以下三种类型的错误 js执行错误 资源加载错误 http请求错误 全局捕获错误 wind...

  • JS各种错误类型

    js错误类型有以下几种:参考文章 SyntaxError: 语法错误 ReferenceError: 引用错误 要...

  • JS语法系列(八)—— 错误处理机制

    一、Error对象 二、JS的原生错误类型 Error对象是最一般的错误类型,在它的基础上,JS还定义了其他6种错...

  • 异步错误的获取

    JS常见错误 当 JavaScript 引擎执行 JavaScript 代码时,会发生各种错误,常见的错误类型有 ...

  • js的各种错误类型

    1.SyntaxError(语法错误) 解析代码时发生的语法错误 2.ReferenceError(引用错误) 3...

  • js的各种错误类型

    js的各种错误类型 1.SyntaxError(语法错误) 解析代码时发生的语法错误eg: 2.Reference...

  • ts学习(1)

    1:ts,es,js三者之间的关系:es是js的标准,ts是js的超级。2:程序员在编码最常见的错误就是类型错误,...

  • Vue ts - 集成TypeScript

    TypeScript改变了原生JS弱类型的特性,使得在开发阶段就能尽早防止潜在的运行时错误。TS的类型判断包括JS...

网友评论

      本文标题:js的错误类型

      本文链接:https://www.haomeiwen.com/subject/mlbmmdtx.html