Flash CS3-Dokumentation |
|||
| Programmieren mit ActionScript 3.0 > Verarbeiten von Fehlern > Fehlertypen | |||
Beim Entwickeln und Ausführen von Anwendungen treffen Sie auf unterschiedliche Fehlertypen und Fehlerbezeichnungen. In der folgenden Liste werden die wichtigsten Fehlertypen und Begriffe vorgestellt:
catch-Anweisung über. Beispielsweise wird mit dem folgenden Codeauszug ein Laufzeitfehler ausgelöst, da die browse()-Methode nicht aufgerufen wird, bevor das Programm versucht, eine Datei hochzuladen:
var fileRef:FileReference = new FileReference();
try
{
fileRef.upload("http://www.yourdomain.com/fileupload.cfm");
}
catch (error:IllegalOperationError)
{
trace(error);
// Fehler #2037: Funktionsaufruf in falscher Reihenfolge, oder
// vorheriger Aufruf war nicht erfolgreich.
}
In diesem Fall wird ein synchroner Laufzeitfehler ausgelöst, da in Flash Player festgestellt wurde, dass die browse()-Methode nicht aufgerufen wurde, bevor der Dateiuploadversuch erfolgt ist.
Weitere Informationen zur Verarbeitung synchroner Fehler finden Sie unter Verarbeiten synchroner Fehler in Anwendungen.
Rufen Sie sich das zuvor vorgestellte Beispiel für einen synchronen Fehler beim Dateiupload in Erinnerung. Wenn Sie vor dem Start des Dateiuploads die browse()-Methode aufrufen, löst Flash Player verschiedene Ereignisse aus. Beispielsweise wird beim Start des Uploads das open-Ereignis ausgelöst. Nach dem erfolgreichen Beenden des Dateiuploads wird das complete-Ereignis ausgelöst. Da die Ereignisverarbeitung asynchron ist (d. h. nicht zu bestimmten, bekannten Zeitpunkten erfolgt), müssen Sie zum Warten auf diese Ereignisse die addEventListener()-Methode verwenden, wie im folgenden Code dargestellt:
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...");
}
Weitere Informationen zur Verarbeitung asynchroner Fehler finden Sie unter Reagieren auf Fehler- und Statusereignisse.
catch-Anweisung) vorliegt. Wenn in einer Anwendung ein Fehler ausgelöst wird und auf der aktuellen oder einer höheren Ebene keine geeignete catch-Anweisung oder keine Ereignisprozedur zur Fehlerverarbeitung gefunden wird, gilt dieser Fehler als nicht abgefangene Ausnahme. Nicht abgefangene Fehler zur Laufzeit werden von Flash Player standardmäßig ignoriert. Zudem wird versucht, die Ausführung fortzusetzen, solange der Fehler nicht zum Beenden der aktuellen SWF-Datei führt, da nicht davon ausgegangen werden kann, dass Benutzer diese Fehler selbst beheben können. Das Ignorieren nicht abgefangener Fehler wird als „stillschweigendes Fehlschlagen" bezeichnet und kann das Debuggen von Anwendungen erschweren. Die Debugger-Version von Flash Player reagiert auf einen nicht abgefangenen Fehler, indem das aktuelle Skript abgebrochen und eine trace-Anweisung ausgegeben bzw. die Fehlermeldung in eine Protokolldatei geschrieben wird. Wenn das Ausnahmeobjekt eine Instanz der Error-Klasse oder einer ihrer Unterklassen ist, wird die getStackTrace()-Methode aufgerufen und die Stack-Trace-Daten ebenfalls als trace-Anweisung ausgegeben bzw. in eine Protokolldatei geschrieben. Weitere Informationen zum Verwenden der Debugger-Version von Flash Player finden Sie unter Verwenden der Debugger-Version von Flash Player.
Flash CS3
Eine E-Mail an mich senden, wenn dieser Seite Kommentare hinzugefügt werden | Kommentarbericht
Aktuelle Seite: http://livedocs.adobe.com/flash/9.0_de/main/00000097.html