在JavaScript中抛出异常时,是否有一种首选方法可以包含内部异常?
我对来自C#背景的JavaScript相对较新。在C#中,您可以执行以下操作:
try
{
// Do stuff
}
catch (Exception ex)
{
throw new Exception("This is a more detailed message.", ex);
}
在我在JavaScript中看到的示例中,我还没有找到如何捕获异常,添加新消息并重新抛出新异常,同时仍然传递原始异常。
答案 0 :(得分:5)
你可以抛出你想要的任何物体:
try {
var x = 1/0;
}
catch (e) {
throw new MyException("There is no joy in Mudville", e);
}
function MyException(text, internal_exception) {
this.text = text;
this.internal_exception = internal_exception;
}
然后会出现MyException
类型的错误,其中包含属性text
和internal_exception
。