throw和 new Error到底是什么?

992 阅读1分钟

throw和 new Error到底是什么?

首先看MDN

throw 语句用来抛出一个用户自定义的异常。当前函数的执行将被停止(throw 之后的语句将不会执行),并且控制将被传递到调用堆栈中的第一个 catch 块。如果调用者函数中没有 catch 块,程序将会终止。

说人话就是如果`throw`抛出一个异常,并且这个异常没有被`try catch捕获`的话,那么程序就会结束执行.

error 可以使用 error() 函数new处理一个实例对象,里边的内容就是自定义的错误内容

error对象的属性
属性名使用
fileName直接读取文件名字(有兼容性)
name直接读、写error实例对象的名字
message直接读、写创建error实例对象时传入的message数据

还有一些属性可以看MDN: Error() constructor

throw和Error对象的区别在于?
    Error可以实例化一个error对象,但是这个对象不会影响代码的执行,有自己的属性
    throw 抛出一个错误 ,但是如果这个错误没有被try tatch捕获的话,那么就会阻止代码的执行