理论准备

★   异常捕获

△ 异常:当JavaScript引擎执行JavaScript代码时,发生了错误,导致程序停止运行;

△ 异常抛出:当异常产生,并且这个异常生成一个错误信息;

△ 异常捕获:

  1. try{
  2. (测试)发生异常的代码块;
  3. }catch(err){//捕获异常信息err
  4. 对错误信息处理;
  5. }
  △ throw 语句:通过throw语句创建一个自定义错误提示信息;
 
示例1  输出一个未定义的变量
  1. /*实现方法一*/
  2. /*function ExceptionCapture() {
  3. try {
  4. alert(str); //测试一个未经定义的变量str
  5. } catch (err) {
  6. alert(err);
  7. }
  8. }
  9. ExceptionCapture(); //调用函数*/
  10. /*实现方法二*/
  11. (function ExceptionCapture(){
  12. try{
  13. alert(str);//测试一个未经定义的变量str
  14. }catch(err){
  15. alert(err);
  16. }
  17. }());//函数的自我调用
示例2  测试输入框
  1. <h2>JS中的异常捕获</h2>
  2. <hr/>
  3. <mark>确保输入框内有内容,否则提交会弹出提示窗口</mark>
  4. <br/>
  5. <input type="text" id="txt">
  6. <button onclick="demo()">Submit</button>
  7. <script>
  8. function vertifyData(){
  9. var a = document.getElementById("txt").value;
  10. if(a ==""){
  11. alert("Please input something\n来自调用函数");
  12. /*利用\n实现弹窗提示内容换行*/
  13. }
  14. }
  15. function demo(){
  16. try{
  17. vertifyData();
  18. throw"你为输入内容\n来自throw的自定义信息";
  19. }catch(err){
  20. alert(err);
  21. }
  22. }
☢注意点
try语句块中的代码无论是否有错误都会执行,而catch中的代码块则只会在有错误时才会触发;
 
   ========================================================
 

JavaScript异常捕获的更多相关文章

  1. Javascript的异常捕获机制

    這個異常處理機制,之前也只是,但是沒有怎麼用過,用了一次后發現還可以, 和java,python的異常處理機制也很相似 Javascript的异常捕获机制 1.1 基本的try…catch语句 ES3 ...

  2. JavaScript的事件及异常捕获

    事件处理 [onClick]单击事件.[onMouseOver]鼠标经过事件.[onMouseOut]鼠标移出事件.[onChange]文本内容改变事件.[onSelect]文本被框选事件.[onFo ...

  3. javascript学习笔记(五):异常捕获和事件处理

    异常捕获 Try{ 发生异常的代码块 }catch(err){ 异常信息处理 } <!DOCTYPE html> <html> <head lang="en&q ...

  4. atitit.js浏览器环境下的全局异常捕获

    atitit.js浏览器环境下的全局异常捕获 window.onerror = function(errorMessage, scriptURI, lineNumber) { var s= JSON. ...

  5. Servlet过滤器——异常捕获过滤器

    1.概述 介绍如何实现异常捕获过滤器. 2.技术要点 本实例主要是在过滤器Filter的doFilter()方法中,对执行过滤器链的chain的doFilter()语句处添加try…catch异常捕获 ...

  6. 异常捕获 崩溃 Bugly ACRC 简介 总结 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  7. .NET 基础 一步步 一幕幕[数组、集合、异常捕获]

    数组.集合.异常捕获 数组: 一次性存储多个相同类型的变量. 一维数组: 语法: 数组类型[] 数组名=new 数组类型[数组长度]; 声明数组的语法: A.数据类型 [] 数组名称= new 数据类 ...

  8. MVC 好记星不如烂笔头之 ---> 全局异常捕获以及ACTION捕获

    public class BaseController : Controller { /// <summary> /// Called after the action method is ...

  9. JavaScript中捕获/阻止捕获、冒泡/阻止冒泡

    JavaScript中捕获/阻止捕获.冒泡/阻止冒泡 事件流描述的是从页面中接收事件的顺序.提出事件流概念的正是IE和Netscape,但是前者提出的是我们常用的事件冒泡流,而后者提出的是事件捕获流. ...

随机推荐

  1. 微信中直接下载APK

    某天在微信中偶遇一个二维码,识别二维码竟然可以直接下载APK! 该二维码如下: 解码后获得地址:(在线解码工具) http://www.rmdown.com/newt66y.apk 这不就是个普通的A ...

  2. State状态设计模式

    1.状态模式:改变对象的行为 一个用来改变类的(状态的)对象. 2:问题:当你自己实现 State 模式的时候就会碰到很多细节的问题,你必须根据自己的需要选择合适的实现方法, 比如用到的状态(Stat ...

  3. (笔记)Linux内核学习(九)之内核内存管理方式

    一 页 内核把物理页作为内存管理的基本单位:内存管理单元(MMU)把虚拟地址转换为物理 地址,通常以页为单位进行处理.MMU以页大小为单位来管理系统中的也表. 32位系统:页大小4KB 64位系统:页 ...

  4. [转]Entity Framework vs. LINQ to SQL

    Entity Framework和LINQ to SQL到底有什么区别?这是一个很常见的问题.下面的表中简要罗列了两种技术的主要区别. LINQ to SQL Entity Framework 复杂度 ...

  5. java判断乱码

    开发需要,判断乱码,baidu了一下,基本都是同一份代码 if (!Character.isLetterOrDigit(c)) {        ->  这个有问题,中文文字被识别成字母及数字 ...

  6. DS1337 时钟芯片在 C8051F 上的实现

    一.DS1337介绍 DS1337串行实时时钟芯片是一种低功耗.全部采用BCD码的时钟日历芯片,它带有两个可编程的定时闹钟和一个可编程的方波输出.其地址和数据可通过I2C总线串行传输,能提供秒.分.时 ...

  7. Day One studying english

    I start study english lately,but the is no basis for english.Only i use baidu translation,google tra ...

  8. sqlite3基础

    要使用sqlite,首先需要添加库文件libsqlite3.dylib.当你搜索libsqlite3关键字时,会发现还有一个libsqlite3.0.dylib的库文件,这里还是建议添加libsqli ...

  9. 用户Word写毕业论文时的文献引用方法

    经过网上搜索和自己实践,找到了一种不用第三方工具的文献管理方法 通过将文献定义的成书签的形式,插入到文献中,当文献编号发生变化时,只需进行更新域操作,就可实现文献编号的理新,下面介绍具体方法: 1.首 ...

  10. ubuntu 搭建 samba 服务器

    . sudo apt-get install samba samba-common . sudo vi /etc/samba/smb.conf [alair's share] path = /home ...