Chcę przejść do strony głównej mojej aplikacji iwyświetla błąd przy użyciu FlyOut, gdy nieobsługiwane wyjątki w Metro Windows występują przy użyciu WinJS. Problem polega na tym, że program nadal przechodzi do terminateAppHandler w base.js.
Oto, co do tej pory otrzymałem:
WinJS.Application.onerror = function (customEventObject) {
// Get the error message and name for this exception
var errorMessage = customEventObject.detail.error.message;
var errorName = customEventObject.detail.error.name;
// Bind them in an optionsObject to pass with the navigation
var optionsObject = { errName: errorName, errMsg: errorMessage };
// Navigate home with information concerning the error
WinJS.Navigation.navigate("/pages/home/home.html", optionsObject);
// Need something to tell Windows that the error is "taken care" of
return false; // ??
}
Kończę tutaj, kończąc aplikację:
var terminateAppHandler = function (data) {
debugger;
MSApp.terminateApp(data);
};
Wszelkie sugestie lub wkłady są więcej niż mile widziane!
Odpowiedzi:
4 dla odpowiedzi № 1Zwraca true zamiast false.
Będziesz także chciał podłączyć się do okna.onerror dla wyjątków, które nie są wysyłane przez aplikację. Jeśli nie ma wyjątku, jest on naprawdę nieobsługiwany i nie można przewidzieć, w jakim stanie jest aplikacja.
1 dla odpowiedzi nr 2
Powtórzenie prawdy powinno zrobić dokładnie to, czego potrzebujesz. Tego używam w mojej aplikacji.