javascript异常捕获

一:try...catch...finally

try {

   //可能出错的代码

}catch (error){

  //出错时要做什么

}

任何可能出错的代码都应该放到try中,而处理错误的代码则应该放到catch里面。如果try代码块中的代码出现错误,代码会立即退出执行,并跳到catch代码块中。catch中此时街道一个对象,对象中包含发生错误的相关信息。

try {

   //可能出错的代码

}catch (error){

  //出错时要做什么

}.finally{

  //无论出错还是不会出错都会执行

}

  finally里面的代码永远都会执行

try catch的缺点

  1.消耗性能 2.捕获不到异步错误  3.可能会导致报错点更模糊

二:throw

用于在任何时候抛出自定义错误。throw操作入必须有一个值,但是值的类型不限。

比如:throw:123   throw:‘adw’  throw:true...

使用 throw操作符时,代码立即停止执行。除非try/catch语句捕获到错误。

可以通过内置的错误类型来欧尼浏览器错误。每种错误类型的构造函数都只接受一个参数,就死错误消息。

throw  new  Error("something bad happened")

自定义错误常用的错误类型是Error,RangeError,ReferenceError,TypeError

三:Error

代码执行过程中会发生各种类型的错误。

已知八种错误类型。

1.Error:基类型,其他错误类型继承该类型。

2.InternalError:底层javascript引擎抛出异常的时候由浏览器抛出。

3.EvalError:错误的使用Eval()函数时抛出。

4.RangeError:会在数值发生越界的时候抛出。

5.ReferenceError:会在找不到对象的时候发生。

6.SyntaxError:经常在给eval()传入的字符串中包含js语法错误的时候发生。

7.TypeError:会发生在变量不是预期的类型,或者访问不存在的方法.

8.URIError:只会在使用encodeURI()和decodeURI()但传入了格式错误的URI的时候发生。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值