03.07.2013 Views

Guide de reference du langage ActionScript 2.0 - PowWeb

Guide de reference du langage ActionScript 2.0 - PowWeb

Guide de reference du langage ActionScript 2.0 - PowWeb

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

}<br />

L'exemple ci-<strong>de</strong>ssous illustre une instruction try..catch. Le co<strong>de</strong> inclus dans le bloc try est<br />

exécuté. Si une exception est renvoyée par <strong>du</strong> co<strong>de</strong> inclus dans le bloc try, le contrôle passe au<br />

bloc catch qui affiche le message d'erreur dans un champ <strong>de</strong> texte à l'ai<strong>de</strong> <strong>de</strong> la métho<strong>de</strong><br />

Error.toString().<br />

Dans le répertoire <strong>du</strong> fichier Account.as, créez un nouveau document FLA et entrez le co<strong>de</strong><br />

<strong>ActionScript</strong> suivant dans l'image 1 <strong>du</strong> scénario :<br />

import Account;<br />

var account:Account = new Account();<br />

try {<br />

var returnVal = account.getAccountInfo();<br />

if (returnVal != 0) {<br />

throw new Error("Error getting account information.");<br />

}<br />

trace("success");<br />

}<br />

catch (e) {<br />

this.createTextField("status_txt", this.getNextHighestDepth(), 0, 0, 100,<br />

22);<br />

status_txt.autoSize = true;<br />

status_txt.text = e.toString();<br />

}<br />

L'exemple suivant présente un bloc <strong>de</strong> co<strong>de</strong> try en conjonction avec plusieurs blocs <strong>de</strong> co<strong>de</strong><br />

typés catch. Selon le type d'erreur qui s'est pro<strong>du</strong>ite, le bloc <strong>de</strong> co<strong>de</strong> try renvoie un type<br />

d'objet différent. Dans ce cas, myRecordSet est une occurrence d'une classe (hypothétique)<br />

intitulée RecordSet dont la métho<strong>de</strong> sortRows() peut renvoyer <strong>de</strong>ux types d'erreurs,<br />

RecordSetException et MalformedRecord.<br />

Dans l'exemple suivant, les objets RecordSetException et MalformedRecord sont <strong>de</strong>s sousclasses<br />

<strong>de</strong> la classe Error. Chacune d'entre elles est définie dans son propre fichier <strong>de</strong> classe AS.<br />

// In RecordSetException.as:<br />

class RecordSetException extends Error {<br />

var message = "Record set exception occurred.";<br />

}<br />

// In MalformedRecord.as:<br />

class MalformedRecord extends Error {<br />

var message = "Malformed record exception occurred.";<br />

}<br />

Dans la métho<strong>de</strong> sortRows() <strong>de</strong> la classe RecordSet, l'un <strong>de</strong>s objets d'erreur définis<br />

précé<strong>de</strong>mment est renvoyé, en fonction <strong>du</strong> type d'exception rencontré. L'exemple suivant<br />

illustre l'aspect éventuel <strong>de</strong> ce co<strong>de</strong> :<br />

class RecordSet {<br />

function sortRows() {<br />

var returnVal:Number = randomNum();<br />

238 Chapitre 1: Eléments <strong>du</strong> <strong>langage</strong> <strong>ActionScript</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!