正如我已经习惯了的异常处理下面的样式C#开发人员:如何记录异常在JavaScript
try
{
throw SomeException("hahahaha!");
}
catch (Exception ex)
{
Log(ex.ToString());
}
Output
------
SomeNamespace.SomeException: hahahaha!
at ConsoleApplication1.Main() in ConsoleApplication1\Program.cs:line 27
它很简单,却又告诉我的一切,我需要知道的例外是什么和它在哪里。
如何在JavaScript中实现等同的事情,其中异常对象本身可能只是一个字符串。我真的希望能够知道的代码在异常事件发生的确切行,但是下面的代码不记录在所有有用的东西:
try
{
var WshShell = new ActiveXObject("WScript.Shell");
return WshShell.RegRead("HKEY_LOCAL_MACHINE\\Some\\Invalid\\Location");
}
catch (ex)
{
Log("Caught exception: " + ex);
}
Output
------
Caught exception: [object Error]
编辑(再次):我想弄清楚,这适用于大量使用JavaScript的内部应用程序。我在从生产系统中可能捕获的JavaScript错误中提取有用信息的方式之后 - 我已经有一个日志记录机制,只是想获得一个明智的字符串来记录。
这不适用于服务器端。另外,它不是现代用户体验。 – 2016-01-21 14:59:19