2010-02-09 6 views

Répondre

2

Voici quelques notions de base qui peuvent vous aider. En bref, vous ne pouvez pas utiliser try/catch ici.

Les erreurs de chargement du contenu externe ne peuvent pas être détectées avec les instructions try..catch..finally. Au lieu de cela, vous devez créer des gestionnaires d'événements pour gérer et "attraper" les événements d'erreur. Si vous n'avez pas d'écouteur d'événement affecté à un événement d'erreur et que cette erreur se produit, le lecteur Flash vous informera de l'événement d'erreur non géré.

// creating listeners for error events handles 
// asynchronous errors 
target.addEventListener(ErrorEvent.TYPE, handler); 
function handler(event:ErrorEvent):void { 
// handle error 
} 

Si vous voulez appeler vos propres erreurs asynchrones, tout ce que vous devez faire est Transmet un événement à l'aide dispatchEvent qui est du ErrorEvent de type. Lorsqu'un ErrorEvent non géré atteint le lecteur Flash lors de la création dans Flash, la fenêtre de sortie affiche l'erreur.

target.dispatchEvent(new ErrorEvent(”type”)); 
1

Comme de Flash 10.1, il est maintenant possible d'attraper toutes les erreurs lancées par les deux principaux swf et tout fichier SWF chargé à l'intérieur de celui-ci.

Pour ce faire, vous devez écouter un UncaughtErrorEvent envoyé de l'objet loaderInfo.uncaughtErrorEvents, comme ceci:

loaderInfo.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR, handleUncaughtErrors); 

function handleUncaughtErrors(e:UncaughtErrorEvent):void 
{ 
    e.preventDefault(); 
} 

S'il vous plaît utiliser avec précaution, car cela supprime toutes les erreurs d'être montré par la version de débogage du joueur, et le flashlog.txt.

+0

cela ne fonctionne tout simplement pas avec les swfs chargés – Randalfien

Questions connexes