Documentazione di Flash CS3 |
|||
| Programmazione in ActionScript 3.0 > Gestione degli errori > Tipi di errore | |||
Durante lo sviluppo e l'esecuzione di applicazioni si incontrano diversi tipi di errore e vari termini relativi agli errori. Ecco un elenco dei principali tipi di errore e dei termini a essi relativi:
catch più adeguata. La seguente porzione di codice, ad esempio, genera un errore runtime perché il metodo browse() non viene chiamato prima che il programma tenti di caricare un file:
var fileRef:FileReference = new FileReference();
try
{
fileRef.upload("http://www.yourdomain.com/fileupload.cfm");
}
catch (error:IllegalOperationError)
{
trace(error);
// Error #2037: Funzioni chiamate in sequenza errata oppure la
// chiamata precedente non è andata a buon fine.
}
In questo caso, l'errore in fase di runtime viene generato in modo sincrono perché Flash Player determina che il metodo browse() non è stato chiamato prima del tentativo di caricamento del file.
Per informazioni dettagliate sulla gestione degli errori sincroni, vedere Gestione degli errori sincroni delle applicazioni.
Consideriamo nuovamente l'esempio di errore sincrono presentato prima. Se si esegue una chiamata corretta al metodo browse() prima di avviare il caricamento del file, Flash Player invia vari eventi. Ad esempio, all'avvio del caricamento, viene inviato l'evento open. Quando l'operazione di caricamento del file viene completata correttamente, viene inviato l'evento complete. Poiché la gestione degli eventi è un'attività asincrona, cioè che non avviene in momenti prestabiliti e conosciuti, è necessario usare il metodo addEventListener() per intercettare questi eventi specifici, come illustra il codice seguente:
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...");
}
Per informazioni dettagliate sulla gestione degli errori asincroni, vedere Risposte a eventi errore e a errori basati sullo stato.
catch) di risposta. Se l'applicazione genera un errore per il quale non esiste un'espressione catch appropriata o per il quale non è disponibile un gestore, né al livello attuale né al superiore, l'errore viene considerato un'eccezione non rilevata. In fase di runtime, Flash Player ignora intenzionalmente gli errori non rilevati e, se può, continua a riprodurre il file SWF perché gli utenti non possono necessariamente essere in grado di risolvere l'errore. Un errore non rilevato che passa sotto silenzio, cioè che viene ignorato, complica il lavoro delle applicazioni di debug. La versione debugger di Flash Player risponde agli errori non rilevati terminando lo script corrente e visualizzando l'errore non rilevato nell'istruzione trace o annotando il messaggio di errore nel file di registro. Se l'oggetto eccezione è un'istanza della classe Error o di una sua sottoclasse, viene richiamato il metodo getStackTrace() e le informazioni sulla traccia di stack vengono visualizzate anche nell'output dell'istruzione trace o nel file di registro. Per ulteriori informazioni sull'utilizzo della versione debugger di Flash Player, vedere Utilizzo della versione debugger di Flash Player.
Flash CS3
Inviami un messaggio e-mail quando vengono aggiunti dei commenti a questa | Rapporto sui commenti
Pagina corrente: http://livedocs.adobe.com/flash/9.0_it/main/00000097.html