Czy istnieje sposób na globalne wychwycenie wszystkich wyjątków, w tym wyjątków od obietnicy. Przykład:Jak wychwycić niezatapiany wyjątek w obietnicy
window.onerror = function myErrorHandler(errorMsg, url, lineNumber) {
alert("Error occured: " + errorMsg);//or any message
return false;
}
var myClass = function(){
}
var pr = new Promise(function(resolve, react){
var myInstance = new myClass();
myInstance.undefinedFunction(); // this will throw Exception
resolve(myInstance);
});
pr.then(function(result){
console.log(result);
});
// i know right will be this:
// pr.then(function(result){
// console.log(result);
// }).catch(function(e){
// console.log(e);
// });
Ten skrypt cicho ginie bez błędu. Nic w ogniu.
Moje pytanie brzmi: jeśli popełnię błąd i zapomniałem go złapać, czy istnieje sposób, aby go złapać globalnie?
Dziękuję, będę badanie Q na pierwszy :-) – John
Właściwie sporządzona jest nie różni od po prostu robi '.catch (miotacz)' (lub robi to samo ze skrótu na przykład dodanie 'Promise.prototype .done = ... '. Więc jest to bezcelowe w tym celu, szczególnie w bluebird gdzie normalnie zgłaszane są niepoprawne błędy – Esailija
@Eailailija Czy możesz rozwinąć ten temat? Co w takim razie byłoby" throwerem "? – JLRishe