javascript 中的捕获异常

大家是不是觉得调试javascript非常的痛苦,我也觉得。只要能找到一点可以帮助我们调试javascript的好方法我们都要用上。其实javascript中也可以捕获异常的,比如:

< div id = ' bbb '  style = " display:none " > asdf </ div >
< script >
    
function  a()
    
{
        
try
        
{
            
var aaa = document.getElementById('bbb');
            alert(aaa.innerText);
        }

        
catch (e)
        
{
            alert(
'错误' + e.message + '发生在' +  e.lineNumber + '');
        }

    }

    a();
</ script >

运行是没问题的,但是如果改成这样:

< div id = ' bbb '  style = " display:none " > asdf </ div >
< script >
    
function  a()
    
{
        
try
        
{
            
var aaa = document.getElementById('sakdhglas');
            alert(aaa.innerText);
        }

        
catch (e)
        
{
            alert(
'错误' + e.message + '发生在' +  e.lineNumber + '');
        }

    }

    a();
</ script >

 

就会报错了,js的异常e除了e.message 和 e.lineNumber之外还有一个重要的属性 e.name

e.name 错误类型,
e.message 错误的详细信息.

Error.name的六种值对应的信息:
1. EvalError:eval()的使用与定义不一致
2. RangeError:数值越界
3. ReferenceError:非法或不能识别的引用数值
4. SyntaxError:发生语法解析错误
5. TypeError:操作数类型错误
6. URIError:URI处理函数使用不当

这样你的js代码在运行到有捕获异常的代码时,就算代码出错了,也会继续往下运行代码,不会停止,而且使用了异常对js的调试也有一定的帮助。


你可能感兴趣的:(JavaScript)