在JavaScript中抛出异常时,是否有一种首选的方法来包含内部异常?JavaScript中的内部错误(例外)
我对来自C#背景的JavaScript比较陌生。在C#中,你可以做到以下几点:
try
{
// Do stuff
}
catch (Exception ex)
{
throw new Exception("This is a more detailed message.", ex);
}
在我见过的在JavaScript中我一直没能找到如何捕捉异常,添加一个新的消息和样本重新抛出,而新的异常仍然通过最初的例外。
您可以定义在javascript自己的异常:http://stackoverflow.com/a/464500/1291428。然后,这个概念在某种程度上是一个全球性的标准:异常应该适合谁在使用你的api。所以,它意味着必要时捕获它,添加以下信息,记录原始异常等。请参阅Joshua Bloch,Effective Java第2版,第61项:抛出与抽象相关的异常 – Sebas 2014-10-29 20:28:01
我明白了。我认为可能有一种方法通常是为了方便API的消费者而进行处理。我可能只是将一个名为innerException的字段添加到自定义异常中。谢谢! – burnttoast11 2014-10-29 20:33:24
抛出显示堆栈,所以你应该能够确切地追踪问题所在。那就是说,堆栈不是一个标准属性,尽管它有一些稍微不同的格式,被广泛使用。 – dandavis 2014-10-29 20:48:13