如何hook / monkey-patch基本的Error类

我怎么去“修补”(或replace)基本的错误类,以便任何人在代码库中throw new Error() (或者试图抛出从Error导出的任何东西 ),实际上将被实例化的是一些替代类(有一些额外的领域,逻辑)。

我意识到这远不是一个最佳实践,它并不意味着你的典型的JS开发场景,这意味着一些沙箱环境中的任意用户代码运行。

我尝试了这样的事情(这不起作用):

 OurError.prototype = Object.create(Error.prototype); Error.prototype = OurError.prototype; 

很显然,我对原型知之甚less,无法理解我在做什么。 会欣赏一些指针或一个简单的例子。