Jako C# deweloperem Jestem przyzwyczajony do poniższej stylu obsługi wyjątków:Jak wyjątki zalogować JavaScript
try
{
throw SomeException("hahahaha!");
}
catch (Exception ex)
{
Log(ex.ToString());
}
Output
------
SomeNamespace.SomeException: hahahaha!
at ConsoleApplication1.Main() in ConsoleApplication1\Program.cs:line 27
Jej naprawdę proste, a jednak mówi mi wszystko, co trzeba wiedzieć o tym, co było wyjątkiem i gdzie to było.
Jak osiągnąć równoważną rzecz w JavaScript, gdzie sam obiekt wyjątku może być po prostu ciągiem znaków. Naprawdę chcę, aby móc poznać dokładną linię kodu, gdzie wyjątek wydarzyło się jednak następujący kod niczego nie przydatnych w ogóle zalogować:
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 (znowu): Just do wyjaśnienia, to jest przeznaczona do wewnętrznej aplikacji, która intensywnie wykorzystuje JavaScript. Jestem po sposobie wydobywania użytecznych informacji z błędów JavaScriptu, które mogą zostać przechwycone w systemie produkcyjnym - mam już mechanizm rejestrowania, chcę tylko sposobu na uzyskanie sensownego ciągu do zalogowania.
To nie działa na serwerze. Ponadto nie jest to nowoczesny UX. –