Documentation Flash CS3 |
|||
| Programmation avec ActionScript 3.0 > Gestion des erreurs > Types d'erreurs | |||
Lorsque vous développez et exécutez des applications, vous rencontrez différents types d'erreurs et de termes. La liste suivante présente les principaux termes et types d'erreurs :
catch la plus applicable. Par exemple, l'extrait de code suivant renvoie une erreur d'exécution car la méthode browse() n'est pas appelée avant que le programme tente de charger un fichier :
var fileRef:FileReference = new FileReference();
try
{
fileRef.upload("http://www.yourdomain.com/fileupload.cfm");
}
catch (error:IllegalOperationError)
{
trace(error);
// Error #2037: Fonctions appelées dans un ordre incorrect, ou appel
// précédent impossible.
}
Dans ce cas, une erreur d'exécution est renvoyée de façon synchrone car Flash Player a déterminé que la méthode browse() n'a pas été appelée avant la tentative de chargement du fichier.
Pour de plus amples informations sur la gestions des erreurs synchrones, voir Gestion des erreurs synchrones dans une application.
Reprenez l'exemple d'erreur synchrone lors du chargement d'un fichier présenté précédemment. Si vous réussissez à appeler la méthode browse() avant de lancer le chargement d'un fichier, Flash Player distribue plusieurs événements. Par exemple, au démarrage d'un chargement, l'événement open est distribué. A la fin du chargement, l'événement complete est distribué. Etant donné que la gestion d'événements est asynchrone (c'est-à-dire qu'elle n'a pas lieu à des moments prédéfinis, connus et spécifiques), vous devez utiliser la méthode addEventListener() pour détecter ces événements spécifiques, comme l'indique le code suivant :
var fileRef:FileReference = new FileReference();
fileRef.addEventListener(Event.SELECT, selectHandler);
fileRef.addEventListener(Event.OPEN, openHandler);
fileRef.addEventListener(Event.COMPLETE, completeHandler);
fileRef.browse();
function selectHandler(event:Event):void
{
trace("...select...");
var request:URLRequest = new URLRequest("http://www.yourdomain.com/fileupload.cfm");
request.method = URLRequestMethod.POST;
event.target.upload(request.url);
}
function openHandler(event:Event):void
{
trace("...open...");
}
function completeHandler(event:Event):void
{
trace("...complete...");
}
Pour de plus amples informations sur la gestions des erreurs asynchrones, voir Réponse à des événements d'erreurs et au statut.
catch) pour y répondre. Si votre application renvoie une erreur, et qu'aucune instruction catch ni gestionnaire d'événements approprié n'est trouvé au niveau actuel ou supérieur pour gérer l'erreur, cette dernière est considérée comme une exception non interceptée. Lors de l'exécution, Flash Player ignore les erreurs non interceptées et tente de poursuivre la lecture si l'erreur n'arrête pas le fichier SWF actuel, car les utilisateurs ne peuvent pas nécessairement résoudre une erreur eux-même. Le fait d'ignorer une erreur non interceptée est appelé « échec silencieux » et peut compliquer le débogage des applications. La version de débogage de Flash Player répond à une erreur non interceptée en terminant le script courant et en affichant l'erreur non interceptée dans le résultat de l'instruction trace ou en enregistrant le message d'erreur dans un fichier journal. Si l'objet d'exception est une instance de la classe Error ou l'une de ses sous-classes, la méthode getStackTrace() est appelée, et les informations de trace de pile sont également affichées dans le résultat de l'instruction trace ou dans un fichier journal. Pour de plus amples informations sur l'utilisation de la version de débogage de Flash Player, voir Utilisation de la version de débogage de Flash Player.
Flash CS3
M'envoyer un message électronique lorsque des commentaires sont ajoutés à cette page | Rapport de commentaire
Page en cours: http://livedocs.adobe.com/flash/9.0_fr/main/00000097.html