← 返回首页
Javascript基础教程(三十八)
发表时间:2020-04-01 22:59:40
讲解Javascript的异常处理

Javascript可以使用try/catch/finally 语句用于处理代码中可能出现的错误信息。

错误可能是语法错误,通常是程序员造成的编码错误或错别字。也可能是拼写错误或语言中缺少的功能(可能由于浏览器差异)。

基本语句结构:

try {
    tryCode - 尝试执行代码块
}
catch(err) {
    catchCode - 捕获错误的代码块
} 
finally {
    finallyCode - 无论 try / catch 结果如何都会执行的代码块
}

例如:

<script>
    function fn(){
        let p = {"name":"张三","age":20};
        try{
            console.log(p);
            p.eat(); //这里会出现异常。
            console.log("程序即将结束....");
        }catch(err){
            console.log(err.toString());
        }finally{
            console.log('一定要执行的代码....');
        }
         console.log('后面继续要执行的代码...');
    }
    fn();
</script>

运行结果:
{name: "张三", age: 20}
TypeError: p.eat is not a function
一定要执行的代码....
后面继续要执行的代码...

也可以使用throw 关键字抛出一个异常。例如:

<script>
    function fn(){
        let p = {"name":"张三","age":20};
        try{
            console.log(p);
            //人为地抛出一个随机异常
            throw new Error('random error');
            console.log("程序即将结束....");
        }catch(err){
            console.log(err.toString());
        }finally{
            console.log('一定要执行的代码....');
        }
        console.log('后面继续要执行的代码...');
    }
    fn();
</script>
运行结果:
{name: "张三", age: 20}
Error: random error
一定要执行的代码....
后面继续要执行的代码...