http://www.w3school.com.cn/js/js_onerror.asp try...catch 的作用是测试代码中的错误。
 

JavaScript - 捕获错误

当我们在网上冲浪时,总会看到带有 runtime 错误的 Javascript 警告框,同时会询问我们“是否进行 debug?”。像这样的错误信息或许对开发人员有用,对用户则未必。当错误发生时,他们往往会选择离开这个站点。

本节向你讲解如何捕获和处理 Javascript 的错误消息,这样就可以为受众提供更多的便利。

有两种在网页中捕获错误的方法:

  • 使用 try...catch 语句。(在 IE5+、Mozilla 1.0、和 Netscape 6 中可用)
  • 使用 onerror 事件。这是用于捕获错误的老式方法。(Netscape 3 以后的版本可用)
 
注意:chrome、opera 和 safari 浏览器不支持 onerror 事件。
 

Try...Catch 语句

try...catch 可以测试代码中的错误。try 部分包含需要运行的代码,而 catch 部分包含错误发生时运行的代码。

代码:
<script type="text/javascript">
var txt=""
function message()
{
     try
     {
       adddlert("Welcome guest!")
     }
     catch(err)
     {
       txt="此页面存在一个错误。\n\n"
       txt+="错误描述: " + err.description + "\n\n"
       txt+="点击OK继续。\n\n"
       alert(txt)
     }
}
</script>
 
throw 声明的作用是创建 exception(异常或错误)。
代码:
<script type="text/javascript">
var x=prompt("Enter a number between 0 and 10:","")
try
{
     if(x>10)
          throw "Err1"
     else if(x<0)
          throw "Err2"
}
catch(er)
{
     if(er=="Err1")
          alert("Error! The value is too high")
     if(er == "Err2")
          alert("Error! The value is too low")
}
</script>
 
使用 onerror 事件是一种老式的标准的在网页中捕获 Javascript 错误的方法。
 

<script type="text/javascript">
onerror = handleErr
var txt = ""
function handleErr(msg,url,l)
{

//Handle the error here
     txt="本页中存在错误。\n\n"
     txt+="错误:" + msg + "\n"
     txt+="URL: " + url + "\n"
     txt+="行:" + l + "\n\n"
     txt+="点击“确定”继续。\n\n"
     alert(txt)
     return true
}
function message()
{
     adddlert("Welcome guest!")
}
</script>

javascript 异常基本语法的更多相关文章

  1. javascript的基本语法、数据结构

    本篇学习资料主要讲解javascript的基本语法.数据结构      无论是传统的编程语言,还是脚本语言,都具有数据类型.常量和变量.运算符.表达式.注释语句.流程控制语句等基本元素构成,这些基本元 ...

  2. JavaScript编程:javaScript核心基础语法

    1.javaScript核心基础语法: javaScript技术体系包含了5个内容:          1.核心语言定义:          2.原生对象和雷子对象:          3.浏览器对象 ...

  3. 【JavaScript的基本语法】

    [JavaScript的基本语法 ] 1.javascript输出 JavaScript语句向浏览器发出的命令.语句的作用是告诉浏览器该做什么. <script>      documen ...

  4. Javascript和Jquery语法对比总结

    目的 相信大家都知道jq是js的一个类库,是为了方便我们开发前端,但是笔者在刚开始学习js和jq时经常将两者的语法记混和混用,所以整理下两者实现相同功能之前的语法区别. 声明变量 javascript ...

  5. (2)javascript的基本语法、数据结构、变量

    本篇学习资料主要讲解javascript的基本语法.数据结构.变量      无论是传统的编程语言,还是脚本语言,都具有数据类型.常量和变量.运算符.表达式.注释语句.流程控制语句等基本元素构成,这些 ...

  6. 完整的JavaScript包括三部分、script标签、JavaScript的基本语法以及变量和字面量的关系

    完整的JavaScript包括三大部分: -ECMAScript   JavaScript的开发规范:提供核心语言功能 -DOM   document object model   文档对象模型:提供 ...

  7. JavaScript类型和语法

    JavaScript类型和语法 一.类型 1.内置类型(null.undefined.boolean.number.string.object.symbol(es6中新增))(除对象之外,其它统称为基 ...

  8. JavaScript的基础语法及DOM元素和事件

    一,JavaScript是什么? 1,JavaScript简称:js,是一种浏览器解释型语言,嵌套在HTML文件中交给浏览器解释执行.主要用来实现网页的动态效果,用户交互及前后端的数据传输等. 2,J ...

  9. JavaScript和angularJs语法支持严格模式:”use strict”

    如果给JavaScript和angularjs代码标志为“严格模式”,则其中运行的所有代码都必然是严格模式下的.其一:如果在语法检测时发现语法问题,则整个代码块失效,并导致一个语法异常.其二:如果在运 ...

随机推荐

  1. Jquery UI 中Tree组件的json格式,java递归拼接demo

    数据库中表数据,如下图: 实现的需求是,如果suporgcode数据为null 的情况下,表示在一级节点 "请选择" 的二级节点,然后是如:3和36 是1的子节点,一步一步的节点延 ...

  2. CentOS6.5使用yum命令方便快捷安装Nginx与卸载

    原文:https://my.oschina.net/ramboo/blog/223408 当然,首先要求是可以联网的CentOS系统,因为yum安装需要互联网连接. 卸载命令:yum remove n ...

  3. andriod 下一个页面

    @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); s ...

  4. udp_client.c udp_server.c

    #include <stdlib.h> #include <stdio.h> #include <errno.h> #include <string.h> ...

  5. [图像]用Matlab在图像上画矩形框

    原创文章,欢迎转载.转载请注明:转载自 祥的博客 原文链接:http://blog.csdn.net/humanking7/article/details/46819527 在毕业设计的时候写论文画图 ...

  6. Navicat工具里的empty table和truncate table的区别

    如图: 相同点:都会清空数据表里的所有数据 不同点:empty table是清空表里的数据:truncate table是删除表,然后再创建这张表 意义:对于主索引自动增加的情况,empty清表后,新 ...

  7. PHP实现双向链表、栈

    前期写过一个PHP实现单向链表.实现排序单向链表的一篇文章,传送门:http://www.cnblogs.com/yydcdut/p/3777760.html.双向链表写过了,再拿出来提一提:http ...

  8. GDALOpen 代码分析

    先来一句话,看了这么多GDAL的源代码,并不喜欢其C风格的烙印太重,还是更喜欢boost风格的简洁的现代C++风格.不过为了更好地应用GDAL,更深的定制它,还是需要将源代码看到底.因为GDAL毕竟是 ...

  9. 免费的.net云平台appharbor.com

    支持Mysql,MSSQL2008R2免费的都是20MB 提供codeplex,GitHub,BitBucket部署到appharbor.com 也可以使用Git来部署应用,但不支持FTP 可以一键安 ...

  10. NotePad++ 显示字符

    转: http://shouce.jb51.net/notepad_book/npp_func_show_special_char.html