function TestTryCatch(){
try { } catch (error) {
//error 类型如下 Error EvalError RangeError ReferenceError
//SyntaxError TypeError URIError
if(error instanceof TypeError){ }else if( error instanceof ReferenceError){ }else{ }
}
finally{ }
} //17.2.2 抛出错误 function process(values){
if(!(values instanceof Array)){
throw new Error('process():Argument must be an array');
}
values.sort(); for(var i=0,len=values.length;i<len;i++){
if(values[i] >100){
return values[i];
}
} return -1; } //自定义错误
function CustomError(message)
{
this.name ='CustomError';
this.message = message;
}
CustomError.prototype =new Error(); //17.2.3 错误(error)事件
window.onerror =function(message,url,line){
alert(message);
return false;
} //throw new CustomError('CustomError'); var image = new Image();
image.addEventListener('load',function(event){
alert('Image loaded');
},false);
image.addEventListener('error',function(event){
alert('Image not laoded');
},false);
image.src ='smilex.gif'; //17.2.4 处理错误的策略
//略 //17.2.5 常见的错误类型
function concat(str1,str2,str3){
var result =str1+str2;
if( typeof str3 =='string'){
result +=str3;
}
return result;
}
function getQueryString(url){
if( typeof url =='string'){
var pos = url.indexOf('?');
if(pos>-1){
return url.substring(pos+1);
}
}
}
function reverseSort(values){
if( typeof values.sort =='function'){
values.sort();
values.reverse();
}
} //17.2.6 区分致命错误和非致命错误 //17.2.7 把错误记录到服务器

  

javascript权威指南第17章 错误异常处理的更多相关文章

  1. 【笔记】javascript权威指南-第三章-类型,值和变量

    javascript中的原始类型和对象类型(基本类型和引用类型) //本书是指:javascript权威指南    //以下内容摘记时间为:2013.7.27   计算机程序运行时需要对值(value ...

  2. javascript权威指南第11章 DOM扩展

    //javascript 权威指南 第三版 第11章 DOM扩展 //取得body元素 var body = document.querySelector("body"); //取 ...

  3. 【笔记】javascript权威指南-第六章-对象

    对象 //本书是指:javascript权威指南    //以下内容摘记时间为:2013.7.28 对象的定义: 1.对象是一种复合值:将很多值(原始值或者对象)聚合在一起,可以通过名字访问这些值. ...

  4. JavaScript权威指南--第3章 类型、值和变量

    在编程语言中,能够表示并操作的值(value)的类型称作数据类型(type).使用变量来储存值.JavaScript中数据类型有两种:原始类型(primitive type/基本数据类型)和对象类型( ...

  5. JavaScript权威指南第03章 类型、值和变量(1)

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/huangbin10025/article/details/27953481 类型.值和变量 数据类型 ...

  6. javascript权威指南第16章 HTML5脚本编程

    <!DOCTYPE html> <html> <head> <script type="text/javascript" src=&quo ...

  7. javascript权威指南第13章 事件示例代码

    html 部分 <!DOCTYPE html> <html> <head> <title>Event Bubling Example</title ...

  8. JavaScript权威指南第02章 词法结构

    词法结构 2.1字符集 JavaScript 是Unicode字符集编写,差点儿支持地球上全部的语言. 2.1.1区分大写和小写 javascript是区分大写和小写的语言. 2.1.2 空格.换行符 ...

  9. JavaScript权威指南第01章 JavaScript 概述

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/huangbin10025/article/details/27951767 JavaScript 概 ...

随机推荐

  1. LC 297 Serialize and Deserialize Binary Tree

    问题: Serialize and Deserialize Binary Tree 描述: Serialization is the process of converting a data stru ...

  2. PAT(B) 1079 延迟的回文数(Java)

    题目链接:1079 延迟的回文数 (20 point(s)) 题目描述 给定一个 k+1 位的正整数 N,写成 a​k​​⋯a​1​​a​0​​ 的形式,其中对所有 i 有 0≤a​i​​<10 ...

  3. go guid 和uuid生成

    1 安装 开始-运行 输入 cmd 回车 输入 go get -u github.com/typa01/go-utils 安装完毕后 2 使用 a 首先引入包 import (      goutil ...

  4. xorm表结构操作实例

    获取数据库信息 package main import ( "fmt" _ "github.com/go-sql-driver/mysql" "git ...

  5. 在论坛中出现的比较难的sql问题:35(时间间隔计算问题)

    原文:在论坛中出现的比较难的sql问题:35(时间间隔计算问题) 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路.

  6. 使用代码浏览WPF控件模版

    纯代码创建,不需要创建界面,创建WPF工程后,直接复制代码就可以使用. 当你手头没有Blend,又不记得以下这段代码,但是又想浏览控件模版的时候,就可以直接复制拿来用了. public partial ...

  7. linux 基础指令

    df -h 查看磁盘空间 root@ubuntu:/etc# df -h Filesystem Size Used Avail Use% Mounted on udev 970M 0 970M 0% ...

  8. iOS - 苹果官方Apple Pay开发文档(中文版)- Apple Pay(1)

    翻译自苹果官方Apple Pay开发文档.目前版本为1.0 概览: Apple Pay为用户从你的App里购买实际的物品和服务提供简单而安全的方法.通过Touch ID,用户可使用储存在iPhone ...

  9. Xshell 上传文件到Ubuntu

    打开Xshell,连上一台Linux服务器或者是虚拟机 如果要方便的上传文件,需要rz 先测试是否安装rz 命令行~$ rz 如果出现未安装(或者command not found)且建议sudo a ...

  10. RestFramework之频率组件

    一.频率组件的使用 频率组件的存在对我们这web开发有着很大的影像,它的作用就是限制用户在一段时间内访问的次数. 下面让我们介绍一下频率组件怎样使用 1.首先需要导入 from rest_framew ...