JavaScript Try...Catch 语句

    介绍:JavaScript中的try...carch语句的作用和C#中的try...catch语句的作用一样,

       都是捕获并处理异常。

    语法:

           try

            {
             //在此运行代码
            }
            catch(err)
            {
             //在此处理错误
            }
            

例子:

<html>
<head>
  <script type="text/javascript">
  var txt=""
  function message()
  {
    try
    {
     adddlert("Welcome guest!")
    }
    catch(err)
    {
     txt="There was an error on this page.\n\n"
     txt+="Click OK to continue viewing this page,\n"
     txt+="or Cancel to return to the home page.\n\n"
     if(!confirm(txt))
     {
     document.location.href="http:......."
     }
    }
  }
</script>
</head> <body>
  <input type="button" value="View message" onclick="message()" />
</body> </html>

上面的例子会显示一个确认框,让用户来选择在发生错误时点击确定按钮来继续浏览网页,还是点击取消按钮来访问其他网页。

JavaScript Throw 声明

    介绍:throw 声明的作用是创建 exception(异常或错误)。

       throw 声明的作用是创建 exception(异常)。你可以把这个声明与 try...catch 声明配合使用,以达到控制

       程序流并产生精确错误消息的目的。

    语法:

          throw(exception)

          exception 可以是字符串、整数、逻辑值或者对象。(throw一定要小写)

例子:

<html>
<body>
  <script type="text/javascript">
    var x=prompt("请输入 0 至 10 之间的数:","")
    try
    {
      if(x>10)
      throw "Err1"
      else if(x<0)
       throw "Err2"
      else if(isNaN(x))
       throw "Err3"
    }
    catch(er)
    {
      if(er=="Err1")
       alert("错误!该值太大!")
      if(er == "Err2")
       alert("错误!该值太小!")
      if(er == "Err3")
       alert("错误!该值不是数字!")
    }
  </script>
</body>
</html>

上面的的例子的作用是测定变量 x 的值。如果 x 的值大于 10 或者小于 0或不是数字,错误就会被抛出 (throw)。这个错误被 catch 的参数捕获后,就会显示出自定义的出错信息。

JavaScript onerror 事件

    介绍:使用 onerror 事件是一种老式的标准的在网页中捕获 Javascript 错误的方法。

       chrome、opera、safari 浏览器不支持

       只要页面中出现脚本错误,就会产生 onerror 事件。

       如果需要利用 onerror 事件,就必须创建一个处理错误的函数。你可以把这个函数叫作 onerror 事件处理器 (onerror event handler)。这个事件处理器使用三个参

       数来调用:msg(错误消息)、url(发生错误的页面的 url)、line(发生错误的代码行)。

    语法: 

            onerror=handleErrfunction handleErr(msg,url,l)
           {
             //Handle the error here
             return true or false
           }

例子:

<html>
<head>
  <script type="text/javascript">
    onerror=handleErr
    var txt=""     function handleErr(msg,url,l)
    {
      txt="There was an error on this page.\n\n"
      txt+="Error: " + msg + "\n"
      txt+="URL: " + url + "\n"
      txt+="Line: " + l + "\n\n"
      txt+="Click OK to continue.\n\n"
      alert(txt)
      return true
    }     function message()
    {
      adddlert("Welcome guest!")
    }
  </script>
</head> <body>
  <input type="button" value="View message" onclick="message()" />
</body> </html>

JavaScript错误/异常处理的更多相关文章

  1. javascript错误处理与调试(转)

    JavaScript 在错误处理调试上一直是它的软肋,如果脚本出错,给出的提示经常也让人摸不着头脑. ECMAScript 第 3 版为了解决这个问题引入了 try...catch 和 throw 语 ...

  2. 第一百二十三节,JavaScript错误处理与调试

    JavaScript错误处理与调试 学习要点: 1.浏览器错误报告 2.错误处理 3.错误事件 4.错误处理策略 5.调试技术 6.调试工具 JavaScript在错误处理调试上一直是它的软肋,如果脚 ...

  3. javascript 之异常处理try catch finally--05

    语法结构 try catch finally是ECMAScript-262 第三版提供异常处理机制的标准,语法结构如下: try{ //可能会发生的错误代码 } catch(error){ //错误处 ...

  4. 【转】JavaScript的异常处理

    当 JavaScript 引擎执行 JavaScript 代码时,有可能会发生各种异常,例如是语法异常,语言中缺少的功能,由于来自服务器或用户的异常输出而导致的异常. 而 Javascript 引擎是 ...

  5. Visual Studio 2013中因SignalR的Browser Link引起的Javascript错误一则

    众所周知Visual Studio 2013中有一个由SignalR机制实现的Browser Link功能,意思是开发人员可以同时使用多个浏览器进行调试,当按下IDE中的Browser Link按钮后 ...

  6. 使用 Google Analytics 跟踪 JavaScript 错误

    Google Analytics(谷歌分析)不仅仅是一个流量统计工具,你还可以用它来测量广告活动的有效性,跟踪用户多远到所需的页面流(从点击广告到购物车到结账页面)获取,并基于用户的信息设置浏览器和语 ...

  7. JavaScript错误处理

    JavaScript 错误 - Throw.Try 和 Catch JavaScript 测试和捕捉 try 语句允许我们定义在执行时进行错误测试的代码块. catch 语句允许我们定义当 try 代 ...

  8. 1000多个项目中的十大JavaScript错误以及如何避免

    通过统计数据库中的1000多个项目,我们发现在 JavaScript 中最常出现的错误有10个.下面会向大家介绍这些错误发生的原因以及如何防止. 对于这些错误发生的次数,我们是通过收集的数据统计得出的 ...

  9. JavaScript 错误处理 Throw、Try 和 Catch

    try 语句测试代码块的错误. catch 语句处理错误. throw 语句创建自定义错误. JavaScript 错误 当 JavaScript 引擎执行 JavaScript 代码时,会发生各种错 ...

随机推荐

  1. 每日设置Bing首页图片为壁纸

    闲来无事,手痒痒要做一个什么小工具. 于是乎便有了本文. 当有一个想法的时候,首先免不了网上搜索一番以便看一下有木有网友有过类似的想法. 很显然--有! 因此本文大代码是从几个地方搜索,然后组合的. ...

  2. 关于js中的this之判断this

    this绑定规则的优先级顺序 new操作符绑定 > 显示绑定 > 隐式绑定 > 默认绑定   所以在判断函数在某个调用位置应用的是哪条规则,可以按下列这样的顺序   if(函数在ne ...

  3. VirtualBox 桥接上网方式的配置

    最近在搞Redis所以装了个virtualbox的ubuntu的虚拟机, redis不是在ubuntu上. 因为需要使用本机客户端访问redis服务,所以需要配置虚拟机和本地机器的双向访问,所以就用到 ...

  4. ERP软件的价格设计

    ERP体现出信息流.资金流.物流在供应商.企业.客户间的运营方向,是以销售为源头,生产.物料需求计划为核心,以金额.实时数据为基础的整体.ERP的核心是MRP(物料需求).企业的经营活动最终是为了赢利 ...

  5. Ubuntu 14.04 中 安装elasticsearch2.*+logstash2.*+kibana

    在Ubuntu 14.04 上安装单机版ELK 2.*(脚本化) 1.判断是否为root权限 if [ "${UID}" -ne 0 ]; then echo "You ...

  6. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(14)-EasyUI缺陷修复与扩展

    系列目录 不知不觉已经过了13讲,(本来还要讲多一讲是,数据验证之自定义验证,基于园友还是对权限这块比较敢兴趣,讲不讲验证还是看大家的反映),我们应该对系统有一个小结.首先这是一个团队开发项目,基于接 ...

  7. scikit-learn 梯度提升树(GBDT)调参小结

    在梯度提升树(GBDT)原理小结中,我们对GBDT的原理做了总结,本文我们就从scikit-learn里GBDT的类库使用方法作一个总结,主要会关注调参中的一些要点. 1. scikit-learn ...

  8. IDDD 实现领域驱动设计-上下文映射图及其相关概念

    上一篇:<IDDD 实现领域驱动设计-理解限界上下文> 距离上一篇有几天时间了,<实现领域驱动设计>第三章的内容都是围绕一个词-上下文映射图,我大概断断续续看了几天,总共看了两 ...

  9. Living in the Matrix with Bytecode Manipulation--转

    原文地址:https://www.infoq.com/articles/Living-Matrix-Bytecode-Manipulation You are probably all too fam ...

  10. 为什么基于Windows Server 2008 R2的网络负载均衡(NLB)配置的时候总会报错“主机不可访问”?

    配置基于Windows的网络负载均衡是很容易的,操作也很简单,点点鼠标基本上就能完成,但是在进行节点(真实服务器)操作的过程中有时候会遇到一些主机不可访问的报错信息.这个又是为什么呢? Figure ...