Как регистрировать исключения в 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, которые могут быть обнаружены в производственной системе - у меня уже есть механизм ведения журнала, просто хочу получить способ записи разумной строки в журнал.

Ответы на вопрос(6)

Ваш ответ на вопрос