Jest to związane z IE, ponieważ IE jest środowiskiem, którego używam do testowania tego, ale chcę wiedzieć, czy możesz wpłynąć na trafność właściwości obiektu błędu, gdy rzucisz błąd. Rozważmy następujący skrypt:Błędy rzutowania w JavaScript z trafnością obiektu błędu
function MyClass (Arg1, Arg2) // Line 5 of my.js
{
if (typeof Arg1 != "string")
throw new Error("Invalid argument passed for MyClass");
// Do some other stuff here
}
Dalej kodzie masz
var myvar = new MyClass(100, "Hello"); // Line 3201 of my.js
więc powyższe byłoby wyrzucić błąd, ale błąd podano w informacji debugowania pokaże błąd wyrzucane na linii 9 pliku my.js zamiast linii 3201. Czy można to zmienić za pomocą standardowych metod?
Dziękuję za odpowiedź, sprawdziłem śledzenie stosu bez debuggera i znalazłem całkiem przydatny link http://eriwen.com/javascript/js-stack-trace/. Buduję gadżety pulpitu Windows (zbudowane na IE) i zamiast używać Visual Studio do debugowania, zwykle po prostu obsługuję window.onerror i alarmuję z linią/komunikatem o błędzie, więc mogę przejść bezpośrednio do niego w kodzie - jest to wystarczająco szybkie i łatwe, ale widzę, że widok stosu może być jeszcze bardziej użyteczny. –
Uświadomiłem sobie, że Twój link był ten sam - whoops :) –
Oznaczono jako odpowiedź, ponieważ była to pierwsza. Dzięki :) –