flash.errorsScriptTimeoutError Die ScriptTimeoutError-Ausnahme wird ausgelöst, wenn das Skriptzeitlimit erreicht ist.Error Die ScriptTimeoutError-Ausnahme wird ausgelöst, wenn das Skriptzeitlimit erreicht ist. Das Skriptzeitlimit beträgt 15 Sekunden. Es gibt zwei XML-Attribute, die Sie dem mx:Application-Tag hinzufügen können: scriptTimeLimit (Anzahl der Sekunden bis zum Skriptzeitlimit) und scriptRecursionLimit (Tiefe der zulässigen rekursiven Aufrufe).

Es werden zwei ScriptTimeoutError-Ausnahmen ausgelöst. Sie können die erste Ausnahme abfangen und das Skript ordnungsgemäß beenden. Wenn keine Ausnahmeprozedur vorhanden ist, führt die nicht abgefangene Ausnahme zum Beenden der Ausführung. Die zweite Ausnahme wird ausgelöst, kann jedoch nicht im Programmcode des Benutzers abgefangen werden. Sie wird an die Ausnahmeprozedur für nicht abgefangene Ausnahmen weitergeleitet. Diese Ausnahme kann nicht abgefangen werden, um zu vermeiden, dass der Player nicht mehr reagiert.

Im folgenden Beispiel wird die Beispielklasse „ScriptTimeoutErrorExample“ verwendet, um den Fehler anzuzeigen, der nach Ablauf des Skriptzeitlimits ausgegeben wird. Dies wird in den folgenden Schritten erreicht:
  1. Es wird eine keepLooking-Eigenschaft (boolescher Wert) deklariert.
  2. Der Konstruktor ruft die lockMachine()-Methode in einem Codesegment zur Fehlerbehandlung auf, das ScriptTimeoutError-Objekte abfängt.
  3. Die lockMachine()-Methode enthält eine endlose while-Schleife.
  4. Nach einer Weile wird die ScriptTimeoutError-Ausnahme ausgelöst. Der Konstruktor fängt diese ab, gibt über die trace-Anweisung eine Fehlermeldung aus und setzt den booleschen Wert von keepLooking auf false. Auf diese Weise wird die while-Schleife in lockMachine() beendet.
package { import flash.display.Sprite; import flash.errors.ScriptTimeoutError; public class ScriptTimeoutErrorExample extends Sprite { private var keepLooping:Boolean = true; public function ScriptTimeoutErrorExample() { try { lockMachine(); } catch(e:ScriptTimeoutError) { trace(e); // ScriptTimeoutError: Error #1502: A script has executed for longer than 15 seconds keepLooping = false; } } private function lockMachine():void { while(keepLooping){ } } } }
ScriptTimeoutError Erstellt ein neues ScriptTimeoutError-Objekt.messageStringEin String, der mit dem Fehlerobjekt verknüpft ist. Erstellt ein neues ScriptTimeoutError-Objekt.
SQLError Eine SQLError-Instanz enthält detaillierte Informationen über einen fehlgeschlagenen Vorgang.Error Eine SQLError-Instanz enthält detaillierte Informationen über einen fehlgeschlagenen Vorgang.

Im asynchronen Ausführungsmodus löst die SQLConnection- oder SQLStatement-Instanz ein SQLErrorEvent-Objekt aus, wenn bei einem SQL-Datenbankvorgang ein Fehler auftritt. Informationen zu dem Fehler lassen sich in Form einer SQLError-Instanz von der error-Eigenschaft des SQLErrorEvent-Objekts aufrufen.

Wenn im synchronen Ausführungsmodus ein Fehler bei einem SQL-Datenbankvorgang auftritt, gibt die SQLConnection- oder SQLStatement-Instanz eine SQLError-Ausnahme aus, die sich durch Einschließen des Fehler verursachenden Codes in einen try..catch-Block verarbeiten lässt.

Diese Klasse stellt Eigenschaften bereit, die Details zum Fehler (unter Angabe des spezifischen Fehlertyps), eine Textmeldung mit Details zum Fehler sowie den Vorgang, der den Fehler verursacht hat, enthalten.

flash.events.SQLErrorEventflash.data.SQLConnectionflash.data.SQLStatementSQLError Erstellt eine SQLError-Instanz, die ausgegeben oder mit der error-Eigenschaft einer SQLErrorEvent-Instanz verwendet werden kann.operationStringGibt den spezifischen Vorgang an, der den Fehler verursacht hat. Der Wert ist eine der Konstanten, die in der SQLErrorOperation-Klasse definiert sind. detailsStringDie Details zum aktuellen Fehler. messageStringDie Beschreibung des aufgetretenen Fehlers. idint0Die Referenznummer der spezifischen Fehlermeldung. detailIDint-1Die Referenznummer der detaillierten Fehlermeldung. detailArgsArraynullEin geordnetes Array von Ersatzwerten, das für die Erstellung einer gebietsschemaspezifischen Fehlermeldung verwendet wird. Erstellt eine SQLError-Instanz, die ausgegeben oder mit der error-Eigenschaft einer SQLErrorEvent-Instanz verwendet werden kann. flash.errors.SQLErrorOperationtoString Gibt in der Standardeinstellung den String „Error“ oder, sofern definiert, den in der Error.message-Eigenschaft enthaltenen Wert zurück.Die Fehlermeldung. String Gibt in der Standardeinstellung den String "Error" oder, sofern definiert, den in der Error.message-Eigenschaft enthaltenen Wert zurück. detailArguments Ein Array von Stringwerten, das für die Erstellung einer gebietsschemaspezifischen Fehlermeldung verwendet wird.Array Ein Array von Stringwerten, das für die Erstellung einer gebietsschemaspezifischen Fehlermeldung verwendet wird.

Diese Eigenschaft enthält einen oder mehrere Werte, die in der details-Eigenschaft der Fehlermeldung ersetzt werden und die mit dem Fehler verknüpften spezifischen Datenbankobjekte (Tabellenname, Spaltenname usw.) angeben. Beispiel: In einer Anwendung tritt ein Fehler mit der folgenden details-Eigenschaft der Fehlermeldung auf:

there is already another table or index with this name: 'my_table'

In diesem Fall enthält die detailArguments-Eigenschaft der SQLError-Instanz ein einzelnes Element mit dem Wert "my_table".

Mithilfe der detailID-Eigenschaft kann eine Anwendung die jeweilige details-Fehlermeldung identifizieren. Die Anwendung kann dem Endbenutzer einen Alternativtext in der Sprache des betreffenden Gebietsschemas bereitstellen. Die Argumentwerte im detailArguments-Array können an der passenden Position im Fehlernachrichtenstring ersetzt werden. Das ist hilfreich bei Anwendungen, bei denen Benutzern in einem bestimmten Gebietsschema der Inhalt der details-Eigenschaft der Fehlermeldung für diesen Fehler direkt angezeigt werden soll.

Eine Liste der detailID-Werte und der dazugehörigen deutschen Fehlerinformationsmeldungen und -argumente finden Sie unter „SQL Fehlerdetailmeldungen, IDs und Argumente“.

detailID Die Referenznummer der spezifischen Fehlerdetailmeldung.int Die Referenznummer der spezifischen Fehlerdetailmeldung. Dieser Wert unterstützt gebietsschemaspezifische Übersetzungen der details-Eigenschaft der Fehlermeldung.

Diese Eigenschaft stellt einen eindeutigen Bezeichner für jede details-Nachricht bereit. (Für jeden Fehlertyp mit einer bestimmten errorID gibt es mehrere Fehler mit eindeutigen detailID-Werten.) Wird dieser Bezeichner gemeinsam mit Werten im detailArguments-Array verwendet, so kann eine Anwendung gebietsschemaspezifische Fehlernachrichten bereitstellen. Das ist hilfreich bei Anwendungen, bei denen Benutzern in einem bestimmten Gebietsschema der Inhalt der details-Eigenschaft der Fehlermeldung für diesen Fehler direkt angezeigt werden soll.

Eine Liste der detailID-Werte und der dazugehörigen deutschen Fehlerinformationsmeldungen und -argumente finden Sie unter „SQL Fehlerdetailmeldungen, IDs und Argumente“.

details Details zum aktuellen Fehler.String Details zum aktuellen Fehler. Hiermit werden weitere spezifische Informationen zum aufgetretenen Fehler bereitgestellt. operation Ein Wert, der den Vorgang angibt, der beim Auftreten des Fehlers ausgeführt werden sollte.String Ein Wert, der den Vorgang angibt, der beim Auftreten des Fehlers ausgeführt werden sollte. Dieser Wert ist eine der Konstanten, die in der SQLErrorOperation-Klasse definiert sind. flash.errors.SQLErrorOperation
SQLErrorOperation Diese Klasse enthält die Konstanten, die die möglichen Werte für die SQLError.operation-Eigenschaft darstellen.Object Diese Klasse enthält die Konstanten, die die möglichen Werte für die SQLError.operation-Eigenschaft darstellen. Diese Werte geben den Vorgangsversuch an, der den Fehler verursacht hat.

Jeder Wert stellt einen der Vorgänge der SQLConnection-Klasse oder der SQLStatement-Klasse dar.

flash.errors.SQLError.operationflash.data.SQLConnectionflash.data.SQLStatementANALYZE Gibt an, dass die SQLConnection.analyze()-Methode aufgerufen wurde.analyzeString Gibt an, dass die SQLConnection.analyze()-Methode aufgerufen wurde. flash.data.SQLConnection.analyze()ATTACH Gibt an, dass die SQLConnection.attach()-Methode aufgerufen wurde.attachString Gibt an, dass die SQLConnection.attach()-Methode aufgerufen wurde. flash.data.SQLConnection.attach()BEGIN Gibt an, dass die SQLConnection.begin()-Methode aufgerufen wurde.beginString Gibt an, dass die SQLConnection.begin()-Methode aufgerufen wurde. flash.data.SQLConnection.begin()CLOSE Gibt an, dass die SQLConnection.close()-Methode aufgerufen wurde.closeString Gibt an, dass die SQLConnection.close()-Methode aufgerufen wurde. flash.data.SQLConnection.close()COMMIT Gibt an, dass die SQLConnection.commit()-Methode aufgerufen wurde.commitString Gibt an, dass die SQLConnection.commit()-Methode aufgerufen wurde. flash.data.SQLConnection.commit()COMPACT Gibt an, dass die SQLConnection.compact()-Methode aufgerufen wurde.compactString Gibt an, dass die SQLConnection.compact()-Methode aufgerufen wurde. flash.data.SQLConnection.compact()DEANALYZE Gibt an, dass die SQLConnection.deanalyze()-Methode aufgerufen wurde.deanalyzeString Gibt an, dass die SQLConnection.deanalyze()-Methode aufgerufen wurde. flash.data.SQLConnection.deanalyze()DETACH Gibt an, dass die SQLConnection.detach()-Methode aufgerufen wurde.detachString Gibt an, dass die SQLConnection.detach()-Methode aufgerufen wurde. flash.data.SQLConnection.detach()EXECUTE Gibt an, dass entweder die SQLStatement.execute()-Methode oder die SQLStatement.next()-Methode aufgerufen wurde.executeString Gibt an, dass entweder die SQLStatement.execute()-Methode oder die SQLStatement.next()-Methode aufgerufen wurde. flash.data.SQLStatement.execute()OPEN Gibt an, dass entweder die SQLConnection.open()-Methode oder die SQLConnection.openAsync()-Methode aufgerufen wurde.openString Gibt an, dass entweder die SQLConnection.open()-Methode oder die SQLConnection.openAsync()-Methode aufgerufen wurde. flash.data.SQLConnection.open()flash.data.SQLConnection.openAsync()REENCRYPT Gibt an, dass die SQLConnection.reencrypt()-Methode aufgerufen wurde.reencryptString Gibt an, dass die SQLConnection.reencrypt()-Methode aufgerufen wurde. flash.data.SQLConnection.reencrypt()RELEASE_SAVEPOINT Gibt an, dass die SQLConnection.releaseSavepoint()-Methode aufgerufen wurde.releaseSavepointString Gibt an, dass die SQLConnection.releaseSavepoint()-Methode aufgerufen wurde. flash.data.SQLConnection.releaseSavepoint()ROLLBACK_TO_SAVEPOINT Gibt an, dass die SQLConnection.rollbackToSavepoint()-Methode aufgerufen wurde.rollbackToSavepointString Gibt an, dass die SQLConnection.rollbackToSavepoint()-Methode aufgerufen wurde. flash.data.SQLConnection.rollbackToSavepoint()ROLLBACK Gibt an, dass die SQLConnection.rollback()-Methode aufgerufen wurde.rollbackString Gibt an, dass die SQLConnection.rollback()-Methode aufgerufen wurde. flash.data.SQLConnection.rollback()SCHEMA Gibt an, dass die SQLConnection.loadSchema()-Methode aufgerufen wurde.schemaString Gibt an, dass die SQLConnection.loadSchema()-Methode aufgerufen wurde. flash.data.SQLConnection.loadSchema()SET_SAVEPOINT Gibt an, dass die SQLConnection.setSavepoint()-Methode aufgerufen wurde.setSavepointString Gibt an, dass die SQLConnection.setSavepoint()-Methode aufgerufen wurde. flash.data.SQLConnection.setSavepoint()
MemoryError Die MemoryError-Ausnahme wird ausgelöst, wenn eine Speicherzuweisungsanforderung fehlschlägt.Error Die MemoryError-Ausnahme wird ausgelöst, wenn eine Speicherzuweisungsanforderung fehlschlägt.

Auf einem Desktop-PC treten Speicheranforderungsfehler nur selten auf, solange nicht extrem viel Speicher angefordert wird. Beispielsweise kann ein Programm unter 32-Bit-Windows nur auf 2 GB Adressraum zugreifen. Eine Anforderung von 10 GB ist deshalb nicht möglich.

In Flash Player ist in der Standardeinstellung keine Obergrenze für den Speicher vorgegeben, den ein ActionScript-Programm anfordern kann.

Das folgende Beispiel zeigt ein Verfahren zum Erzeugen einer MemoryError-Ausnahme. package { import flash.display.Sprite; import flash.errors.MemoryError; import flash.utils.setInterval; public class MemoryErrorExample extends Sprite { private var crashingStr:String; private var intervalId:Number; public function MemoryErrorExample() { crashingStr = "abcdefghijklmnopqrstuvwxyz"; intervalId = setInterval(exhaustMemory, 50); } public function exhaustMemory():void { try { crashingStr += crashingStr; } catch(e:MemoryError) { trace(e); } } } }
MemoryError Erstellt ein neues MemoryError-Objekt.messageStringEin String, der mit dem Fehlerobjekt verknüpft ist. Erstellt ein neues MemoryError-Objekt.
StackOverflowError ActionScript löst eine StackOverflowError-Ausnahme aus, wenn der für das Skript verfügbare Stapelspeicher ausgeschöpft ist.Error ActionScript löst eine StackOverflowError-Ausnahme aus, wenn der für das Skript verfügbare Stapelspeicher ausgeschöpft ist. Informationen zu den einzelnen Methodenaufrufen eines Skripts, z. B. die von der Methode verwendeten lokalen Variablen, werden von ActionScript in einem Stapelspeicher abgelegt. Je nach System ist mehr oder weniger Stapelspeicher verfügbar.

Eine StackOverflowError-Ausnahme weist möglicherweise darauf hin, dass eine unendliche Rekursion aufgetreten ist und Sie der Funktion eine Endebedingung hinzufügen müssen. Sie kann auch bedeuten, dass ein Rekursionsalgorithmus zwar eine korrekte Endebedingung enthält, der Stapelspeicher aber dennoch nicht ausreicht. Versuchen Sie in diesem Fall, den Algorithmus iterativ zu implementieren.

Im folgenden Beispiel wird die Beispielklasse "StackOverflowErrorExample" verwendet, um den Fehler anzuzeigen, der bei einem Stapelüberlauf ausgegeben wird. Dies wird in den folgenden Schritten erreicht:
  1. Der Konstruktor ruft die lockMachine()-Methode in einem Codesegment zur Fehlerbehandlung auf, die StackOverflowError-Objekte abfängt.
  2. Die lockMachine()-Methode ruft sich selbst auf, bis der Stapel überläuft.
  3. Nachdem die StackOverflowError-Ausnahme ausgelöst wurde, fängt der Konstruktor sie ab und gibt über die trace-Anweisung eine Fehlermeldung aus.
package { import flash.display.Sprite; import flash.errors.StackOverflowError; public class StackOverflowErrorExample extends Sprite { public function StackOverflowErrorExample() { try { lockMachine(); } catch(e:StackOverflowError) { trace(e); // StackOverflowError: Error #1023: Stack overflow. } } private function lockMachine():void { lockMachine(); } } }
StackOverflowError Erstellt ein neues StackOverflowError-Objekt.messageStringEin String, der mit dem Fehlerobjekt verknüpft ist. Erstellt ein neues StackOverflowError-Objekt.
DRMManagerError DRMManager löst ein DRMManagerError-Ereignis aus, das Fehler meldet.Error DRMManager löst ein DRMManagerError-Ereignis aus, das Fehler meldet. flash.net.drm.DRMManagerDRMManagerError Erstellt eine neue Instanz der DRMManagerError-Klasse.messageStringDie Fehlerbeschreibung. idintDie allgemeine Fehlernummer. subErrorIDintDie spezifische Fehlernummer. Erstellt eine neue Instanz der DRMManagerError-Klasse. toString Gibt in der Standardeinstellung den String „Error“ oder, sofern definiert, den in der Error.message-Eigenschaft enthaltenen Wert zurück.Die Fehlermeldung. String Gibt in der Standardeinstellung den String "Error" oder, sofern definiert, den in der Error.message-Eigenschaft enthaltenen Wert zurück. subErrorID Die spezifische Fehlernummer.int Die spezifische Fehlernummer. IOError Die IOError-Ausnahme wird ausgelöst, wenn ein Ein- oder Ausgabefehler auftritt.Error Die IOError-Ausnahme wird ausgelöst, wenn ein Ein- oder Ausgabefehler auftritt. Beispielsweise wird eine IOError-Ausnahme ausgelöst, wenn ein Lese-/Schreibvorgang für eine nicht oder nicht mehr verfügbare Socketverbindung durchgeführt wird. Im folgenden Beispiel wird eine IOError-Ausnahme ausgelöst, wenn versucht wird, einen Sound-Stream zu schließen, der niemals geladen war. package { import flash.display.Sprite; import flash.errors.IOError; import flash.media.Sound; public class IOErrorExample extends Sprite { public function IOErrorExample() { var music:Sound = new Sound(); try { music.close(); trace("Stream closed."); } catch (error:IOError) { trace("The stream could not be closed, or the stream was not open."); } } } } IOError Erstellt ein neues IOError-Objekt.messageStringEin String, der mit dem Fehlerobjekt verknüpft ist. Erstellt ein neues IOError-Objekt. IllegalOperationError Die IllegalOperationError-Ausnahme wird ausgelöst, wenn eine Methode nicht implementiert ist oder wenn die Implementierung nicht die verwendeten Aufrufparameter unterstützt.Error Die IllegalOperationError-Ausnahme wird ausgelöst, wenn eine Methode nicht implementiert ist oder wenn die Implementierung nicht die verwendeten Aufrufparameter unterstützt.

Beispiele für IllegalOperationError-Ausnahmen:

  • Eine Basisklasse wie DisplayObjectContainer bietet mehr Funktionalität als von einer Bühne unterstützt wird (z. B. Masken).
  • Es werden bestimmte Eingabehilfen-Methoden aufgerufen, wenn der Player ohne Eingabehilfen kompiliert wurde.
  • Die Einstellungen in „mms.cfg“ verbieten eine FileReference-Aktion.
  • ActionScript versucht, einen FileReference.browse()-Aufruf auszuführen, wenn bereits ein Dialogfeld für die Dateiauswahl geöffnet ist.
  • ActionScript versucht, für ein FileReference-Objekt (z. B. FTP) ein nicht unterstütztes Protokoll zu verwenden.
  • Von einem Laufzeit-Player werden Funktionen aufgerufen, die nur in der Authoring-Umgebung verfügbar sind
  • Es wird versucht, den Namen eines auf der Zeitleiste platzierten Objekts festzulegen
Das folgende Beispiel veranschaulicht die Verwendung einer IllegalOperationError-Prozedur. package { import flash.display.DisplayObject; import flash.display.Sprite; import flash.errors.IllegalOperationError; public class IllegalOperationErrorExample extends Sprite { public function IllegalOperationErrorExample() { var child:Sprite = new Sprite(); try { addChild(child); } catch(e:IllegalOperationError) { trace(e); } } public override function addChild(child:DisplayObject):DisplayObject { throw new IllegalOperationError("addChild cannot be performed on the IllegalOperationErrorExample class"); } } }
IllegalOperationError Erstellt ein neues IllegalOperationError-Objekt.messageStringEin String, der mit dem Fehlerobjekt verknüpft ist. Erstellt ein neues IllegalOperationError-Objekt.
EOFError Eine EOFError-Ausnahme wird ausgelöst, wenn nach dem Ende der verfügbaren Daten ein Lesevorgang durchgeführt wird.flash.errors:IOError Eine EOFError-Ausnahme wird ausgelöst, wenn nach dem Ende der verfügbaren Daten ein Lesevorgang durchgeführt wird. Beispielsweise wird eine EOFError-Ausnahme ausgelöst, wenn eine der Lesemethoden der IDataInput-Schnittstelle aufgerufen wird und für diese Anforderung nicht genügend Daten vorhanden sind. Im folgenden Beispiel wird die Klasse EOFErrorExample zum Anzeigen des Fehlers verwendet, der ausgegeben wird, wenn nach dem Ende der verfügbaren Daten versucht wird, einen Lesevorgang durchzuführen. Dies wird in den folgenden Schritten erreicht:
  1. Der Konstruktor erstellt ein ByteArray-Objekt (byteArr) und schreibt den booleschen Wert false mithilfe von writeBoolean() in den Byte-Datenstrom.
  2. Die Position von byteArr wird auf 0 zurückgesetzt (Start des Datenstroms).
  3. Aus dem Datenstrom wird mithilfe von readBoolean() ein einzelnes Byte entfernt. Jetzt enthält der Datenstrom keine Daten.
  4. Innerhalb eines Codesegments zur Fehlerbehandlung, das zum Abfangen von EOFError-Objekten eingerichtet wurde, wird readBoolean() ein zweites Mal aufgerufen. Die EOFError-Ausnahme wird abgefangen und an eine trace()-Anweisung übergeben, welche die den EOFError-Objekten zugeordnete Fehlermeldung ausgibt.
package { import flash.display.Sprite; import flash.errors.EOFError; import flash.utils.ByteArray; public class EOFErrorExample extends Sprite { public function EOFErrorExample() { var byteArr:ByteArray = new ByteArray(); byteArr.writeBoolean(false); trace(byteArr.length); // 1 byteArr.position = 0; try { trace(byteArr.readBoolean()); // false } catch(e:EOFError) { trace(e); } try { trace(byteArr.readBoolean()); } catch(e:EOFError) { trace(e); // EOFError: Error #2030: End of file was encountered. } } } }
flash.utils.ByteArrayflash.utils.IDataInputflash.net.Socketflash.net.URLStreamEOFError Erstellt ein neues EOFError-Objekt.messageStringEin String, der mit dem Fehlerobjekt verknüpft ist. Erstellt ein neues EOFError-Objekt.
InvalidSWFError Die Flash-Laufzeitumgebungen geben diesen Ausnahmefehler aus, wenn eine beschädigte SWF-Datei gefunden wird.Error Die Flash-Laufzeitumgebungen geben diesen Ausnahmefehler aus, wenn eine beschädigte SWF-Datei gefunden wird. InvalidSWFError Erstellt ein neues InvalidSWFError-Objekt.messageStringEin String, der mit dem Fehlerobjekt verknüpft ist. idint0 Erstellt ein neues InvalidSWFError-Objekt.