if(){}try{}catch{}用法

1.try...catch 语句
  用来测试代码中的错误,try 部分包含需要运行的代码,而 catch 部分包含错误发生时运行的代码。
  
2.怎么用  
     try{ 
           //再此执行代码,如果发生异常直接跳入catch,下面代码不在执行
      }
      
      catch(error){
           //error自定义错误输出信息 需要与thow配合使用
      }
      
      finally {
          //finally 可用可不用但是只要用了, try语句块中的代码全部正常执行,finally会执行;
          //如果因为出错 而执行了catch语句块finally照样还会执行,代码中包含finally,
          //那么无论try还是catch语句块中的return语句将被忽略。
      }
      /*
          执行顺序为:首先执行try语句块中的代码,如果抛出异常,接着执行catch语句块中代码,如果
      没有异常,catch语句块中代码将会被忽略,但不管是否有异常,最后最会执行finally子句。 
          try后面必须接着一个catch或者finally,也就是可以有3中组合形式。即try-catch、
      try-finally、try-catch-finally三种形式。 */
 3,错误类型

   1, Error  
          基类型,主要目的供开发人员抛出自定义错误。
   2, EvalError
          使用eval()函数而发生异常时抛出,eval() 函数可计算某个字符串,并执行其中的的代码。
   3, RangeError
          会在数值超出相应范围时触发。
   4, ReferenceError
          在找不到对象的情况下会发生ReferenceError,通常在访问不存在的变量时,就会发生这种错误
   5, SyntaxError
          把语法错误的字符串传入eval()函数时,就会导致此类错误 
   6, TypeError
          执行特定于类型的操作时,变量的类型并不符合要求所致。
   7, URIError 
          使用encodeURI()或decodeURI(),而URI格式不正确时,就会导致此错误

4.抛出错误
      与try-catch语句相配的还有一个throw操作符,用于随时抛出自定义错误。抛出错误时,
   必须要给throw操作符指定一个值。这个值是什么类型,没有要求。
      在遇到throw操作符时,代码会立即停止执行。仅当有try-catch语句捕获到被抛出的值时
   ,代码才会继续执行。
      创建自定义错误消息时,最常用的错误类型是Error、RangeError、ReferenceError和TypeError。
   另外,利用原型链还可以通过继承Error来创建自定义错误类型。此时,需要为新创建的错误类型指
   定name和message属性。
   
 5.try-catch使用考量
 
      使用try-catch最适合处理那些我们无法控制的错误,假设你在使用一个大型库中的函数,
   该函数可能会有意无意地抛出一些错误。由于不能修改这个库的源代码,所以大可将对该
   函数的调用放在try-catch语句当中。万一有什么错误发生,也好恰当地处理它们。

      明明白白地知道自己的代码会发生错误时,再使用try-catch语句就不太合适了。例如,如果
   传递给函数的参数是字符串而非数值,就会造成函数出错,那么就应该先检查函数的类型,然
   后再决定如果去做。在这种情况下,不应该使用try-catch语句。

借鉴学习路径
https://www.cnblogs.com/iceflorence/p/6593139.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值