正如我已經習慣了的異常處理下面的樣式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