前言

在javascript中通常使用throw语句抛出错误,throw语句用于抛出一个用户自定义的错误。

例如:抛出了一个值为字符串的错误

    throw 'abc';

在这里插入图片描述

例如:抛出了一个错误对象

    throw new Error('abc');

在这里插入图片描述

throw语句

throw语句用于抛出一个用户自定义的错误。当程序执行throw语句时,之后的语句将不会执行,如果调用者函数中没有catch块,程序将会终止。

所以throw语句常常和try…catch…finally语句一起使用。

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

try…catch…finally用法

try语句,执行可能发生错误的代码块。

catch 语句,当 try 代码块发生错误时,所执行的代码块。

finally 语句在 try 和 catch 之后无论有无异常都会执行。

    try {
        //需要运行的代码
    }catch (err) {
        //捕获错误代码
    }finally{
        //无论try和catch的结果如何,都正常执行的代码
    }

ps:catch 和 finally 语句不是必须的,但一条 try 语句中至少使用一个catch 或 finally 语句。

结合try…catch…finally语句使用throw语句抛错。

        try {
            console.log(a);
        }catch (err) {
            throw err;
        }
        console.log("我正常执行了");

console.error()

在 js 中使用 console.error(),也可以抛出错误信息;

例如:

 	console.error("我是一条错误信息");

在这里插入图片描述

既然console.error()也可以抛出错误信息,为什么大家通常使用throw抛错呢!

throw 和console.error有什么区别?

throw 和console.error的区别

throw 语句会在在控制台打印错误信息并停止程序的运行;

console.error()方法,只是在控制台打印一条红色消息,并影响程序的运行;

所以,这也解释了大家往往会用throw 而不是 console.error()的原因了,因为此时程序已经发生错误了,再继续执行也只能是错上加上错。

本文到此结束

如果大家还有什么其他想法,欢迎在评论区交流!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐