`

第七章 JavaScript异常处理

    博客分类:
  • js
阅读更多
1.Array对象的使用
2.Date对象的使用
3.Math对象的使用

1.JavaScript 中的对话框
2.了解JavaScript异常处理
3.解决JavaScript中的异常

JavaScript 中的对话框

1.alert():方法用于显示带有一条指定消息和一个 OK 按钮的警告框。
2.confirm():方法用于显示一个带有指定消息和 OK 及取消按钮的对话框。
3.prompt():方法用于显示可提示用户进行输入的对话框

alert()

alert(message)
message 要在window上弹出的对话框中显示的纯文本(而非 HTML 文本)
<html>
<head>
<script type="text/javascript">
function display_alert()  {
  alert("I am an alert box!!")
}
</script>
</head>
<body>
<input type="button" onclick="display_alert()"
value="Display alert box" />
</body>
</html>

显示带有折行的对话框

<html>
<head>
<script type="text/javascript">
function disp_alert(){
alert("再打个招呼。这里演示了" + "\n" + "如何在消息框中添加折行。");
}
</script>
</head>
<body>
<input type="button" onclick="disp_alert()" value="显示消息框" />
</body>
</html>

confirm()确认对话框

confirm(message)
message 要在 window 上弹出的对话框中显示的纯文本(而非 HTML 文本)
如果用户点击确定按钮,则 confirm() 返回 true。如果点击取消按钮,则 confirm() 返回 false。
在用户点击确定按钮或取消按钮把对话框关闭之前,它将阻止用户对浏览器的所有输入。在调用 confirm() 时,将暂停对 JavaScript 代码的执行,在用户作出响应之前,不会执行下一条语句。
提示:对话框按钮的文字是不可改变的,因此请小心地编写问题或消息,使它适合用确认和取消来回答。

Confirm示例

<html>
<head>
<script type="text/javascript">
function disp_confirm()  {
  var r=confirm("你确认关闭当前窗口吗?")
  if (r==true)    {
    window.close();
  }
  else{
    document.write("您选择了取消关闭当前窗口!");
  }
}
</script>
</head>
<body>
<input type="button" onclick="disp_confirm()" value="关闭窗口"/>
</body>
</html>

prompt()提示框

prompt(text,defaultText)
text 可选。要在对话框中显示的纯文本(而不是 HTML 格式的文本)。
defaultText 可选。默认的输入文本。
如果用户单击提示框的取消按钮,则返回 null。如果用户单击确认按钮,则返回输入字段当前显示的文本。
在用户点击确定按钮或取消按钮把对话框关闭之前,它将阻止用户对浏览器的所有输入。在调用 prompt() 时,将暂停对 JavaScript 代码的执行,在用户作出响应之前,不会执行下一条语句。

prompt()提示框示例

<html>
<head>
<script type="text/javascript">
function disp_prompt(){
  var name=prompt("请输入您的姓名:","")
  if (name!=null && name!=""){
    document.write("Hello " + name + "!")
  }
}
</script>
</head>
<body>
<input type="button" onclick="disp_prompt()"
value="提示对话框示例" />
</body>
</html>

try...catch 语句

语法:
try{
   //在此运行代码
}catch(err){
   //在此处理错误
}
注意:try...catch 使用小写字母。大写字母会出错。
下面的例子原本用在用户点击按钮时显示 "Welcome guest!" 这个消息。不过 message() 函数中的 alert() 被误写为 adddlert()。这时错误发生了:

示例—异常的出现

<html>
<head>
<script type="text/javascript">
function message(){
adddlert("Welcome guest!");
}
</script>
</head>
<body>
<input type="button" value="View message" onclick="message()" />
</body>
</html>
我们可以添加 try...catch 语句,这样当错误发生时可以采取更适当的措施。
下面的例子用 try...catch 语句重新修改了脚本。由于误写了 alert(),所以错误发生了。不过这一次,catch 部分捕获到了错误,并用一段准备好的代码来处理这个错误。这段代码会显示一个自定义的出错信息来告知用户所发生的事情。

<html>
<head>
<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>
</head>
<body>
<input type="button" value="View message" onclick="message()" />
</body>
</html>

示例2

下一个例子会显示一个确认框,让用户来选择在发生错误时点击确定按钮来继续浏览网页,还是点击取消按钮来回到首页。如果 confirm 方法的返回值为 false,代码会把用户重定向到其他的页面。如果 confirm 方法的返回值为 true,那么代码什么也不会做。
<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://www.w3school.com.cn/"
    }
  }
}
</script>
</head>
<body>
<input type="button" value="View message" onclick="message()" />
</body>
</html>

throw

throw 声明的作用是创建 exception(异常或错误)。
throw 声明的作用是创建 exception(异常)。你可以把这个声明与 try...catch 声明配合使用,以达到控制程序流并产生精确错误消息的目的。
exception 可以是字符串、整数、逻辑值或者对象。
注意:使用小写字母编写 throw。使用大写字母会出错!

下面的实例的作用是测定变量 x 的值。如果 x 的值大于 10 或者小于 0,错误就会被抛出 (throw)。这个错误被 catch 的参数捕获后,就会显示出自定义的出错信息。
示例
<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>
总结:
JS中三个对话框各有什么特点.
写一个JS中异常处理的示例.
分享到:
评论

相关推荐

    从零开始学JavaScript 源代码

    第7章 Window及相关顶级对象 第8章 Document对象 第9章 HTML元素对象 第二篇 JavaScript进阶篇 第10章 正则表达式 第11章 客户端与服务器端通信 第12章 JavaScript与Ajax技术 第13章 JavaScript错误与异常处理 第...

    javascript完全学习手册1 源码

    第7章 正则表达式 151 7.1 正则表达式及其作用 151 7.2 正则表达式参考语法 152 7.2.1 限定符 154 7.2.2 选择匹配符 157 7.2.3 分组组合和反向引用符 158 7.2.4 特殊字符 160 7.2.5 字符匹配符 161 7.2.6 定位符 164...

    javascript完全学习手册2 源码

    第7章 正则表达式 7.1 正则表达式及其作用 7.2 正则表达式参考语法 7.2.1 限定符 7.2.2 选择匹配符 7.2.3 分组组合和反向引用符 7.2.4 特殊字符 7.2.5 字符匹配符 7.2.6 定位符 7.2.7 原义字符 7.3...

    JavaScript详解(第2版)

     第7章 函数   7.1 什么是函数   7.1.1 函数声明和调用   7.1.2 返回值   7.1.3 匿名函数变量   7.1.4 闭包   7.1.5 递归   7.1.6 函数是对象   7.2 调试技巧   7.2.1 函数语法   ...

    JavaScript王者归来part.1 总数2

     第7章 对象  7.1 什么是对象   7.2 对象的属性和方法   7.2.1 对象的内置属性   7.2.2 为对象添加和删除属性   7.2.3 反射机制--枚举对象属性   7.3 对象的构造   7.3.1 构造函数--一个双精度浮点数...

    [JavaScript.DOM高级程序设计](加)桑贝斯.扫描版.part1.rar

     第7章 向应用程序中加入Ajax   7.1 组合的技术   7.1.1 语义化XHTML和DOM   7.1.2 JavaScript和XMLHttpRequest对象   7.1.3 XML   7.1.4 一个可重用的对象   7.1.5 Ajax是正确的选择吗   7.2...

    Javascript数组操作高级心得整理

    第一章JavaScript基础 1. 如何实现JavaScript 4 (1) 如何把JavaScript代码放到HTML页面里 4  使用[removed]标签,直接在HTML代码里加入JavaScript代码 4  使用[removed]调用外部的JavaScript(.js文件) 4  如何...

    CGI开发使用手册

    第7章 编制脚本并设置Web服务器 第8章 修改CGI脚本 第9章 如何处理自定义图像映像 第10章 使用MIME 第四部分 使用CGI搜索引擎和数据库 第11章 为Web站点建立索引 第12章 使用WAIS与CGI 第13章 自定义数据库查询脚本 ...

    写给大忙人看的Java SE 8

    第7章介绍了如何在Java虚拟机上执行JavaScript,以及如何与Java代码进行交互操作;第8章描述了Java 8中其他一些不起眼但很实用的特性;第9章则关注于Java 7中改进的异常处理,以及其他一些你可能会忽略掉的API。...

    [JavaScript.DOM高级程序设计](加)桑贝斯.扫描版.part3.rar

     第7章 向应用程序中加入Ajax   7.1 组合的技术   7.1.1 语义化XHTML和DOM   7.1.2 JavaScript和XMLHttpRequest对象   7.1.3 XML   7.1.4 一个可重用的对象   7.1.5 Ajax是正确的选择吗   7.2...

    [JavaScript.DOM高级程序设计](加)桑贝斯.扫描版.part2.rar

     第7章 向应用程序中加入Ajax   7.1 组合的技术   7.1.1 语义化XHTML和DOM   7.1.2 JavaScript和XMLHttpRequest对象   7.1.3 XML   7.1.4 一个可重用的对象   7.1.5 Ajax是正确的选择吗   7.2...

    写给大忙人看的Java SE 8中文(美)霍斯曼,张若飞

    第7章介绍了如何在Java虚拟机上执行JavaScript,以及如何与Java代码进行交互操作;第8章描述了Java 8中其他一些不起眼但很实用的特性;第9章则关注于Java 7中改进的异常处理,以及其他一些你可能会忽略掉的API。 ...

    java教程.rar

    第7章 示例描述:介绍并演示了类的高级使用。 Example.java final关键字的使用 Usepri.java 一个简单的内部类 第8章 示例描述:介绍了异常处理概念以及处理方式。 YiChang1.java 异常处理的一般形式 第9...

    Ajax完全自学手册PPT和源代码(ptt格式)

    第7章 JavaScript中的XML Test4IE XMLDOM.htm IE中的XML DOM支持 Test Firefox XMl DOm.htm Firefox中的XML DOM支持 Firefox LoadXML.htm Firefox中的XML DOM支持 XPath Example1.xml XPath Writer.xml 开发中实际...

    php网络开发完全手册

    第7章 字符的处理与正则表达式 102 7.1 字符类型的特殊性 102 7.2 字符的显示与格式化 102 7.2.1 字符的显示 102 7.2.2 字符的格式化 103 7.3 常见的操作 104 7.3.1 字符串重复操作——str_repeat 104 7.3.2 字符串...

    千峰python课件笔记+源码 (凯哥)

    '千锋python基础教程:7、装饰器&偏函数与作用域与异常处理与文件读写' 千锋python基础教程:8、os与窗口控制与内存修改与语言 第二章前端基础 1、html&css;基础 2、html&css;提升 3、JavaScript基础 4、...

    [ASP.NET.AJAX编程参考手册(涵盖ASP.NET.3.5及2.0)].(美)霍斯拉维.扫描版.pdf

    第7章 组件开发基础设施 7.1 接口 7.1.1 IDisposable 7.1.2 INotifyDisposing 7.1.3 INotifyPropertyChange 7.2 组件 7.3 IContainer 7.4 应用 7.4.1 addComponent 7.4.2 removeComponent 7.4.3 getComponents 7.4.4...

Global site tag (gtag.js) - Google Analytics