JavaScript异常处理

本章大概介绍以下JavaScript中的异常处理。在实际项目开发中,我们经常需要进行一些异常处理,避免程序因为一些错误导致整个程序崩溃。

一、异常常用属性

属性名描述信息
name错误名
number错误号
description描述
message错误信息


二、常见的异常

异常类型描述信息
TypeError当遇到一个意外的类型时引发该异常对象,如未声明的变量。
SyntaxError在解析js代码时,其中的语法错误引发该异常对象。
ReferenceError使用一个无效的引用时引发该异常对象。
EvalError在错误的调用eval函数时引发该异常对象。
RangeError在一个数字型变量的值超出了其范围时引发该异常对象。
URIError在错误的使用encodeURI或者decodeURI函数时引发该异常对象。

三、实例代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>JavaScript中的异常处理 </TITLE>
<SCRIPT LANGUAGE="JavaScript">
    // 异常对象常见的四种属性
    try{
        alert(result);
    }catch(e){
        alert("异常名字:"+e.name);
        alert("异常号:"+e.number);
        alert("异常的描述信息:"+e.description);
        alert("异常的错误信息:"+e.message);
    }
    // throw方式抛出异常
    // 要求用户输入一个大于等于0到小于等于10之间的数,
    // 如果输入的值小于0,提示输入的值不能小于0;
    // 如果输入的值大于10,提示输入的值不能大于10;
    // 如果输入的值不是数值类型,提示请输入数字。
    try{
        var result=prompt("请用户输入一个0到10之间的数字");
        if(result<0){
            throw new Error("-1","输入的值不能小于0");
        }else if(result>10){
            throw new Error("-2","输入的值不能大于10");
        }else if(isNaN(result)){
            throw new Error("-3","您输入的不是数字,请输入一个0到10之间的数字");
        }else{
            alert("您输入的数值是:"+result);
        }
    }catch(e){
        alert(e.name);
        alert(e.number);
        alert(e.description);
        alert(e.message);
    }finally{
        //执行特殊的语句,如无论是否发生异常,都需要执行的语句
        alert("this is finally!");
    }
    function addMethod(a,b){
        if(arguments.length!=2){
            throw new Error("-1","该方法的参数个数不等于2,请输入两个参数!");
        }else{
            return a+b;
        }
        return eval(a+b);
    }
    try{
        var a=;
        var b=;
        var result = addMethod(a,b);
        alert("结果为:"+result);
    }catch(e){
        alert("异常名字为:"+e.name);
        alert("异常号为:"+e.number);
        alert("异常消息为:"+e.message);
        alert("异常说明为:"+e.description);
    }
    onerror = handlerError;
    // 句柄返回true,浏览器不会提示自带的错误信息
    // 句柄返回false,浏览器会触发自带的错误信息。
    // IE浏览器的左下角提示一个感叹号的标志,火狐浏览器右下角出现脚本错误的信息。
    function handlerError(message,url,line){
        var text="错误消息为:"+message+"\n";
        text+="发生的url地址为:"+url+"\n";
        text+="错误行号为:"+line+"\n";
        alert(text);
        return falae;
    }
    alert(abc);
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>
所谓天才,只不过是把别人喝咖啡的功夫都用在工作上了。——鲁迅
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号