JavaScript错误处理try..catch...finally+涵盖throw+TypeError+RangeError

目录
  • 1.用途
  • 2.语法
  • 3.实操

1.用途

通常,如果发生错误,脚本就会立即停止,并在控制台将错误打印出来。

有了这个语句就可以捕获错误并执行合理操作,可以让程序继续执行下去

2.语法

try {
  // 代码...
} catch (err) {
   //err是有关错误详细信息的对象
  // 错误捕获,上面代码报错就会转到这个代码块,而不会停止运行
} finally {
   //无论是否有异常抛出或捕获它总是执行
}

这种语句可以嵌套

3.实操

Catch 捕获所有 error

如果我们不知道如何处理它,那我们就 throw err

throw 操作符会生成一个 error 对象。

用来抛出一个用户自定义的异常。当前函数的执行将被停止(throw之后的语句将不会执行),并且控制将被传递到调用堆栈中的第一个Catch块。如果调用者函数中没有catch块,程序将会终止。

示例:

throw "Error1"; // 抛出了一个值为字符串的异常
throw 4;       // 抛出了一个值为整数4的异常

/*JavaScript 中有很多内建的标准 error 的构造器:Error,SyntaxError,ReferenceError,TypeError 等。我们也可以使用它们来创建 error 对象。*/
let error = new Error("Things happen o_O");
alert(error.name); // Error
alert(error.message); // Things happen o_O
//json的异常
try {
  JSON.parse("{ bad json o_O }");
} catch(e) {
  alert(e.name); // SyntaxError
  alert(e.message); // Unexpected token b in JSON at position 2
}

补充:

try块的代码可能会抛出三种异常:TypeErrorRangeErrorSyntaxError

有同学可能不知道这三个的意思,这里说明下

这两个都是全局对象,全局的对象本身不包含任何方法, 然而它通过原型链继承了一些方法.

instanceof 操作符用于判断错误类型:

  • TypeError:(类型错误)对象用来表示值的类型非预期类型时发生的错误
  • RangeError: 对象标明一个错误,当一个值不在其所允许的范围或者集合中
  • SyntaxError: 当Javascript语言解析代码时,Javascript引擎发现了不符合语法规范的tokens或token顺序时抛出

实例:

catch (e) {//以下是这个对象的参数属性
  console.log(e instanceof TypeError); // true
  console.log(e.message);              // "描述此错误"
  console.log(e.name);                 // "TypeError"
  console.log(e.fileName);             // "引起该异常的代码所在的文件的名字"
  console.log(e.lineNumber);           // 引起该异常的代码的行号
}

到此这篇关于JavaScript错误处理try..catch...finally+涵盖throw+TypeError+RangeError的文章就介绍到这了,更多相关JavaScript错误处理内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • javascript Error 对象 错误处理

    Error对象 Property:   name: 错误名   number: 错误号   description: 描述   message: 错误信息,多同description  FF Only 属性   fileName: 错误发生的文件   stack: 错误发生时的调用堆栈 Constructor:   Error(){     this(0,"")} Error(description){     this(0,description)} Error(number,des

  • JS常见错误(Error)及处理方案详解

    1. 错误的类型 Error: 所有错误的父类型 错误的子类型包括: ReferenceError: 引用的变量不存在 TypeError: 数据类型不正确的错误 RangeError: 数据值不在其所允许的范围内 SyntaxError: 语法错误 常见的内置错误: (1)ReferenceError: 引用变量不存在 console.log(a) //ReferenceError: a is not defined (2)TypeError: 数据类型不正确 var b = {} b.xxx

  • JavaScript错误处理try..catch...finally+涵盖throw+TypeError+RangeError

    目录 1.用途 2.语法 3.实操 1.用途 通常,如果发生错误,脚本就会立即停止,并在控制台将错误打印出来. 有了这个语句就可以捕获错误并执行合理操作,可以让程序继续执行下去 2.语法 try { // 代码... } catch (err) { //err是有关错误详细信息的对象 // 错误捕获,上面代码报错就会转到这个代码块,而不会停止运行 } finally { //无论是否有异常抛出或捕获它总是执行 } 这种语句可以嵌套 3.实操 Catch 捕获所有 error. 如果我们不知道如何

  • Javascript 错误处理的几种方法

    1.使用window.onerror指定错误处理函数. 当有错误的时候,onerror会被callback. 当某个JavaScript block中有多个script错误时,第一个错误触发后(回调callback),当前Javascript block后面的script会被自动Drop忽略掉,不被执行. 如:  复制代码 代码如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>

  • JavaScript错误处理和堆栈追踪详解

    有时我们会忽略错误处理和堆栈追踪的一些细节, 但是这些细节对于写与测试或错误处理相关的库来说是非常有用的. 例如这周, 对于 Chai 就有一个非常棒的PR, 该PR极大地改善了我们处理堆栈的方式, 当用户的断言失败的时候, 我们会给予更多的提示信息(帮助用户进行定位). 合理地处理堆栈信息能使你清除无用的数据, 而只专注于有用的数据. 同时, 当更好地理解 Errors 对象及其相关属性之后, 能有助于你更充分地利用 Errors. (函数的)调用栈是怎么工作的 在谈论错误之前, 先要了解下(

  • javascript中的try catch异常捕获机制用法分析

    本文实例讲述了javascript中的try catch异常捕获机制用法.分享给大家供大家参考,具体如下: 1.跟Java一样,JavaScript也具有try catch块,进行异常捕获的机制. (1)典型的try catch语句 try{ } catch{ } finally{ } 跟java中一样,JS中最为典型的try catch语句也同样分为了三个部分,try用于捕获异常,catch用于处理异常,而finally用于关闭资源等后续操作. 举例: try{ throw "error&qu

  • javascript 中的try catch应用总结

    javascript 中的try catch应用总结 实例代码: <script language="JavaScript"> try { throw new Error(10,"asdasdasd") } catch (e) { alert(e.message); alert(e.description) alert(e.number) alert(e.name) throw new Error(10,"asdasdasd") }

  • 浅谈javascript错误处理

    当 JavaScript 引擎执行 JavaScript 代码时,会发生各种错误:可能是语法错误,通常是程序员造成的编码错误或错别字;可能是拼写错误或语言中缺少的功能(可能由于浏览器差异);可能是由于来自服务器或用户的错误输出而导致的错误;也可能是由于许多其他不可预知的因素. 那么js有没有好的可以检测错误的呢?有的,那就是:throw.try 和 catch JavaScript 抛出(throw)错误 当错误发生时,当事情出问题时,JavaScript 引擎通常会停止,并生成一个错误消息.

  • JavaScript错误处理操作实例详解

    本文实例讲述了JavaScript错误处理操作.分享给大家供大家参考,具体如下: 良好的错误处理机制可以让用户得到及时的提醒,所以让我们来看看 JavaScript 提供了哪些针对错误处理的工具和方法吧O(∩_∩)O~ 1 try-catch 语句 ECMA-262 第 3 版引入了 try-catch 语句,这时 JavaScript 处理异常的标准方式: try{ //可能会导致错误的代码 } catch (error){ //错误处理 } 如果 try 块中的代码发生了错误,会立即执行 c

  • 简介JavaScript错误处理机制

    1. try-catch语句 ECMA-262第3版引入了try-catch语句,作为JavaScript中处理异常的一种标准方式. 语法: try{ // 可能会导致错误的代码 }catch (error){ // 在错误发生时怎么处理 } 也就是说,我们应该把所有可能会抛出错误的代码都放在try语句块中,而把那些用于错误处理代码放在catch块中. try-catch语句的逻辑是:如果try块中的任何代码发生了错误,就会立即退出代码执行过程,然后接着执行catch块.此时,catch块会接收

  • 详解JavaScript错误捕获

    目录 一.基本使用与逻辑 二.特性 三.错误对象 四.较好的catch和throw策略 五.Promise的错误处理 六.性能损耗​ 一.基本使用与逻辑 使用 try{ //code.... }catch(err){ //error handling }finally{ //no matter what happens in the try/catch (error or no error), this code in the finally statement should run. } 逻辑

  • JavaScript错误处理机制全面分析讲解

    目录 1. Error 实例 2. 原生错误类型 2.1 ReferenceError 2.2 SyntaxError 2.3 TypeError 2.4 RangeError 2.5 URIError 2.6 evalError 3. 自定义错误类型 4. throw 5. try…catch 6. finally 总结 1. Error 实例 JavaScript在运行错误时会抛出一个错误,JS提供了Error构造函数,所有抛出的错误都是这个构造函数的实例 const err = new E

随机推荐