zoukankan      html  css  js  c++  java
  • javascript权威指南第17章 错误异常处理

    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 把错误记录到服务器
    

      

  • 相关阅读:
    Java堆栈详解
    JVM 图形化监控工具
    Tomcat 7优化前及优化后的性能对比
    Java 枚举常见7种用法
    GitHub上如何删除repository仓库
    eclipse下使用git上传(下载)代码至(从)github
    标准的软件工程过程之文档标准
    maven添加本地非repository中的jar包
    Junit初级篇
    mongodb拷贝数据库copyDatabase()。实现释放磁盘空间的方法。
  • 原文地址:https://www.cnblogs.com/ms_senda/p/11518035.html
Copyright © 2011-2022 走看看