Flash Lite 2 |
|||
| Guide de référence du langage ActionScript Flash Lite 2.x > Eléments du langage ActionScript > Instructions > Instruction throw | |||
throw expression
Génère ou renvoie une erreur qui peut être traitée ou interceptée par un bloc de code catch{}. Si aucune exception n'est interceptée par le bloc catch, la chaîne représentant la valeur renvoyée s'affiche dans le panneau Sortie.
De manière générale, le système renvoie des occurrences de la classe Error ou de ses sous-classes (consultez la section Exemple).
Disponibilité : ActionScript 1.0 ; Flash Lite 2.0
expression:Object - Expression ou objet ActionScript.
Dans cet exemple, une fonction intitulée checkEmail() vérifie si la chaîne qui lui est transmise est une adresse électronique correctement formatée. Si la chaîne ne contient pas le symbole @, la fonction renvoie une erreur.
function checkEmail(email:String) {
if (email.indexOf("@") == -1) {
throw new Error("Invalid email address");
}
}
checkEmail("someuser_theirdomain.com");
Le code suivant appelle ensuite la fonction checkEmail() dans un bloc de code try. Si la chaîne email_txt ne contient pas une adresse de messagerie valide, le message d'erreur apparaît dans un champ texte (error_txt).
try {
checkEmail("Joe Smith");
}
catch (e) {
error_txt.text = e.toString();
}
Dans l'exemple suivant, une sous-classe de la classe Error est renvoyée. La fonction checkEmail() est modifiée pour renvoyer une occurrence de cette sous-classe.
// Définissez la sous-classe d'erreur, InvalidEmailError, dans InvalidEmailError.as : class InvalidEmailAddress extends Error { var message = "Invalid email address."; }
Dans un fichier FLA ou AS, entrez le code ActionScript suivant dans l'image 1 du scénario :
import InvalidEmailAddress;
function checkEmail(email:String) {
if (email.indexOf("@") == -1) {
throw new InvalidEmailAddress();
}
}
try {
checkEmail("Joe Smith");
}
catch (e) {
this.createTextField("error_txt", this.getNextHighestDepth(), 0, 0, 100, 22);
error_txt.autoSize = true;
error_txt.text = e.toString();
}