我想在我的JS代码中抛出一些东西,我希望它们是instanceof Error,但我也想让它们成为别的东西.
在Python中,通常会有一个子类Exception.
在JS中做什么是合适的?
我试图用ES6和Babel扩展Error.它没有成功.
class MyError extends Error {
constructor(m) {
super(m);
}
}
var error = new Error("ll");
var myerror = new MyError("ll");
console.log(error.message) //shows up correctly
console.log(myerror.message) //shows empty string
Run Code Online (Sandbox Code Playgroud)
Error对象永远不会获得正确的消息集.
现在我已经在SO上看到了一些解决方案(例如这里),但它们看起来都非常非ES6-y.如何以漂亮的ES6方式做到这一点?(那是在Babel工作)
我尝试模拟从外部URL加载的脚本停止在我的站点上执行任何更多脚本的问题.
我试图通过调用一个不退出的函数来模拟这样的问题.我可以在firebug中看到错误,但仍然会执行页面上的不同脚本.
Javascripts中有不同类型的错误吗?如果是:什么样的错误会阻止脚本执行?我只需要Firefox的答案.
编辑
这个问题很容易被误解,但是Rob W得到了它:我需要抛出异常并且该异常需要停止进一步的脚本执行.
在JavaScript中抛出异常时,是否有一种首选方法可以包含内部异常?
我对来自C#背景的JavaScript相对较新.在C#中,您可以执行以下操作:
try
{
// Do stuff
}
catch (Exception ex)
{
throw new Exception("This is a more detailed message.", ex);
}
Run Code Online (Sandbox Code Playgroud)
在我在JavaScript中看到的示例中,我无法找到如何捕获异常,添加新消息并在仍然传递原始异常的同时重新抛出新异常.