15.10.2012 Views

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ACTIONSCRIPT 3.0 ENTWICKLERHANDBUCH<br />

Verarbeiten von Fehlern<br />

Vergleich der Error-Klassen<br />

Flash Player 9 und höher, Adobe AIR 1.0 und höher<br />

ActionScript stellt eine Reihe vordefinierter Error-Klassen bereit. Sie können jedoch auch dieselben Error-Klassen in<br />

Ihrem eigenen Code verwenden. Es gibt zwei Haupttypen von Fehlerklassen in ActionScript 3.0: Error-Kernklassen<br />

und Error-Klassen des flash.error-Pakets. Das flash.error-Paket enthält zusätzliche Klassen, die Entwicklung und<br />

Debugging von ActionScript 3.0-Anwendungen erleichtern sollen.<br />

Error-Kernklassen<br />

Flash Player 9 und höher, Adobe AIR 1.0 und höher<br />

Zu den Error-Kernklassen gehören die Klassen Error, ArgumentError, EvalError, RangeError, ReferenceError,<br />

SecurityError, SyntaxError, TypeError, URIError und VerifyError. Jede dieser Klassen befindet sich im Namespace<br />

der obersten Ebene.<br />

Klassenname Beschreibung Hinweise<br />

Error Mit der Error-Klasse können Ausnahmen ausgelöst<br />

werden. Sie ist die Basisklasse für die anderen in<br />

ECMAScript definierten Ausnahmeklassen: EvalError,<br />

RangeError, ReferenceError, SyntaxError, TypeError<br />

und URIError.<br />

ArgumentError Die ArgumentError-Klasse repräsentiert einen Fehler,<br />

der auftritt, wenn die in einem Funktionsaufruf<br />

übergebenen Parameterwerte nicht den für diese<br />

Funktion definierten Parametern entsprechen.<br />

EvalError EvalError-Ausnahmen werden ausgelöst, wenn<br />

Parameter an den Konstruktor der Function-Klasse<br />

übergeben werden oder wenn die eval()-Funktion<br />

im Benutzercode aufgerufen wird.<br />

RangeError Eine RangeError-Ausnahme wird ausgelöst, wenn ein<br />

numerischer Wert außerhalb eines zulässigen<br />

Bereichs liegt.<br />

ReferenceError Eine ReferenceError-Ausnahme wird ausgelöst, wenn<br />

bei einem versiegelten (nicht dynamischen) Objekt<br />

versucht wird, auf eine nicht definierte Eigenschaft zu<br />

verweisen. In den ActionScript-Compilerversionen<br />

vor ActionScript 3.0 wurde kein Fehler bei dem<br />

Versuch ausgelöst, auf eine Eigenschaft mit dem Wert<br />

undefined zuzugreifen. In ActionScript 3.0 wird bei<br />

dieser Bedingung dagegen eine ReferenceError-<br />

Ausnahme ausgelöst.<br />

Letzte Aktualisierung 27.6.2012<br />

Die Error-Klasse dient als Basisklasse für alle Laufzeitfehler. Sie<br />

ist auch die empfohlene Basisklasse für alle benutzerdefinierten<br />

Fehlerklassen.<br />

Beispiele für solche Fehler:<br />

Einer Methode werden zu wenige oder zu viele Argumente<br />

übergeben.<br />

Es wurde erwartet, dass ein Argument Mitglied einer<br />

Aufzählung ist. Dies war jedoch nicht der Fall.<br />

In ActionScript 3.0 wird die eval()-Funktion nicht mehr<br />

unterstützt. Versuche, diese Funktion zu verwenden, führen zu<br />

einem Fehler.<br />

In älteren Versionen von Flash Player wurde die eval()-<br />

Funktion eingesetzt, um auf Variablen, Eigenschaften, Objekte<br />

oder Movieclips über deren Namen zuzugreifen.<br />

Beispielsweise wird eine RangeError-Ausnahme durch die<br />

Timer-Klasse ausgelöst, wenn ein Verzögerungswert negativ<br />

oder keine endliche Zahl ist. RangeError-Ausnahmen werden<br />

auch ausgelöst, wenn Sie versuchen, Anzeigeobjekte in einer<br />

ungültigen Tiefe hinzuzufügen.<br />

Ausnahmen für nicht definierte Variable sind Hinweise auf<br />

mögliche Programmfehler und unterstützen Sie dabei, die<br />

Qualität von Anwendungen zu verbessern. Wenn Sie es jedoch<br />

bisher nicht gewohnt waren, Variablen zu initialisieren, müssen<br />

Sie aufgrund dieser neuen ActionScript-Funktionsweise Ihre<br />

Programmiergewohnheiten ändern.<br />

71

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

Saved successfully!

Ooh no, something went wrong!