Как регистрировать исключения в JavaScript
Как разработчик на C #, я использовал следующий стиль обработки исключений:
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]
EDIT (еще раз): просто чтобы уточнить, это для внутреннего приложения, которое интенсивно использует JavaScript. Я использую способ извлечения полезной информации из ошибок JavaScript, которые могут быть обнаружены в производственной системе - у меня уже есть механизм ведения журнала, просто хочу получить способ записи разумной строки в журнал.