Existe-t-il un moyen d'intercepter les exceptions dans les rappels JavaScript? Est-ce même possible?Est-il possible d'intercepter les exceptions lancées dans un rappel JavaScript asynchrone?
Uncaught Error: Invalid value for property <address>
Voici le jsFiddle: http://jsfiddle.net/kjy112/yQhhy/
try {
// this will cause an exception in google.maps.Geocoder().geocode()
// since it expects a string.
var zipcode = 30045;
var map = new google.maps.Map(document.getElementById('map_canvas'), {
zoom: 5,
center: new google.maps.LatLng(35.137879, -82.836914),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
// exception in callback:
var geo = new google.maps.Geocoder().geocode({ 'address': zipcode },
function(geoResult, geoStatus) {
if (geoStatus != google.maps.GeocoderStatus.OK) console.log(geoStatus);
}
);
} catch (e) {
if(e instanceof TypeError)
alert('TypeError');
else
alert(e);
}
@anewb, donnez Daniels répondre à un √ – sbartell
La question est "Est-il possible?" et c'est une bonne réponse, @BlakeRegalia. – mqsoh
Logique et juste ce que je craignais quand j'ai commencé à regarder ce problème. Je suis coincé avec un cas où le code que je contrôle ne déclenche pas une exception que je dois attraper, mais je ne peux pas car c'est asynchrone ... –