So protokollieren Sie Ausnahmen in JavaScript

Als C # -Entwickler bin ich an die folgende Art der Ausnahmebehandlung gewöhnt:

try
{
    throw SomeException("hahahaha!");
}
catch (Exception ex)
{
    Log(ex.ToString());
}

Output
------

SomeNamespace.SomeException: hahahaha!
    at ConsoleApplication1.Main() in ConsoleApplication1\Program.cs:line 27

Es ist wirklich einfach und sagt mir dennoch alles, was ich wissen muss, um zu wissen, was die Ausnahme war und wo sie war.

Wie erreiche ich das Äquivalent in JavaScript, wo das Ausnahmeobjekt selbst nur eine Zeichenfolge sein könnte. Ich möchte wirklich in der Lage sein, die genaue Codezeile zu kennen, in der die Ausnahme aufgetreten ist, aber der folgende Code protokolliert überhaupt nichts Nützliches:

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]

BEARBEITEN (nochmal): Nur zur Verdeutlichung, dies ist für interne Anwendungen gedacht, die stark auf JavaScript setzen. Ich bin auf der Suche nach einer Möglichkeit, nützliche Informationen aus JavaScript-Fehlern zu extrahieren, die im Produktionssystem auftreten können. Ich habe bereits einen Protokollierungsmechanismus und möchte nur eine Möglichkeit, eine sinnvolle Zeichenfolge zum Protokollieren zu verwenden.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage