| Paket | flash.events |
| Sınıf | public class UncaughtErrorEvent |
| Miras Alma | UncaughtErrorEvent ErrorEvent TextEvent Event Object |
| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 2 |
try..catch bloğunun dışında bir hata atıldığında veya herhangi bir lisanslı dinleyiciye sahip olmayan bir ErrorEvent nesnesi gönderildiğinde yakalanmayan bir hata oluşur. Yakalanmamış hata olayı işlevselliği genelde bir "genel hata işleyicisi" olarak açıklanır.
Olayı gönderen UncaughtErrorEvents nesnesi bir LoaderInfo nesnesi veya bir Loader nesnesi ile ilişkilidir. Bir UncaughtErrorEvents örneğine erişmek için aşağıdaki özellikleri kullanın:
-
LoaderInfo.uncaughtErrorEvents: aynı SWF'de tanımlanan koddaki yakalanmamış hataları algılamak için. -
Loader.uncaughtErrorEvents: bir Loader nesnesi tarafından yüklenen SWF'de tanımlanan koddaki yakalanmamış hataları algılamak için.
Bir uncaughtError olayı gerçekleştiğinde, olay işlense bile hataya sebep olan çağrı yığınında çalışma devam etmez. Hata bir senkronize hata ise, hatanın oluştuğu işlevde kalan herhangi bir kod çalıştırılmaz. Sonuç olarak, yakalanmamış bir hata olayı gerçekleştiğinde, uygulamanız kararsız bir durumdadır. Bir yakalanmamış hatanın bir çok sebebi olabileceği için, hangi işlevselliğin kullanılabilir olduğunu tahmin etmek olanaksızdır. Örneğin, uygulamanız ağ işlemleri veya dosya işlemleri çalıştırabiliyor olabilir. Ancak, o işlemler her zaman kullanılabilir olmayabilir.
Bir SWF diğerini yüklediğinde, uncaughtError olayları LoaderInfo hiyerarşisinin içinde aşağı ve yeniden yukarı köpürürler. Örneğin, A.swf dosyasının bir Loader örneği kullanarak B.swf dosyasını yüklediğini varsayın. B.swf'de yakalanmamış bir hata oluşursa, LoaderInfo ve Loader nesnelerine aşağıdaki sırayla bir uncaughtError olayı gönderilir.
- (Yakalama Aşaması) A.swf'nin LoaderInfo nesnesi
- (Yakalama Aşaması) A.swf dosyasındaki yükleyici
- (Hedef Aşaması) B.swf'nin LoaderInfo nesnesi
- (Köpürme Aşaması) A.swf dosyasının LoaderInfo nesnesi
- (Köpürme Aşaması) A.swf'nin LoaderInfo nesnesi
Bir Loader nesnesinin uncaughtErrorEvents özelliği hedef aşamasında asla bir uncaughtErrorEvent göndermez. Olayı yalnızca yakalama ve köpürme aşamalarında gönderir.
Başka olay köpürmelerinde olduğu gibi, stopPropagation() veya stopImmediatePropagation() öğelerini çağırmak olayın herhangi bir başka dinleyiciye gönderilmesini tek bir önemli farkla önler. Bir Loader nesnesinin UncaughtErrorEvents nesnesi yüklü SWF'nin LoaderInfo.uncaughtErrorEvents nesnesiyle olay yayılımına yönelik bir çift olarak değerlendirilir. Bu nesnelerden biriyle kaydedilen bir dinleyici stopPropagation() yöntemini çağırırsa, olaylar olay yayılımı sona ermeden önce o UncaughtErrorEvents nesnesiyle veonun ortak UncaughtErrorEvents nesnesiyle kaydedilen diğer dinleyicilere gönderilmeye devam eder. stopImmediatePropagation() yöntemi olayların diğer ek dinleyicilerin tümüne gönderilmesini önlemeye devam eder.
İçerik çalışma zamanının hata ayıklayıcı sürümünde, örneğin Flash Player'ın hata ayıklama sürümünde veya AIR Hata Ayıklama Başlatıcısı'nda (ADL), çalışırken, bir yakalanmamış hata oluştuğunda bir yakalanmamış hata iletişim kutusu görünür. O çalışma zamanı sürümleri için, hata iletişim kutusu bir dinleyici uncaughtError olayı için kaydedildiğinde bile görünür. İletişim kutusunun öyle bir durumda görünmesini önlemek için, UncaughtErrorEvent nesnesinin preventDefault() yöntemini çağırın.
Yükleme nesnesi tarafından yüklenen içerik AVM1 (ActionScript 2) SWF dosyası ise, AVM1 SWF dosyasındaki yakalanmayan hatalar uncaughtError olayıyla sonuçlanmaz. Ek olarak, HTMLLoader nesnesine yüklü HTML içeriğindeki hatalar (FlexHTML kontrolü dahil) uncaughtError olayına sebep olmaz.
İlgili API Öğeleri
| Özellik | Tanımlayan: | ||
|---|---|---|---|
![]() | bubbles : Boolean [salt okunur]
Bir olayın köpüren bir olay olup olmadığını belirtir. | Event | |
![]() | cancelable : Boolean [salt okunur]
Olayla ilişkilendirilmiş davranışın önlenebilir olup olmadığını gösterir. | Event | |
![]() | constructor : Object
Belirli bir nesne örneği için sınıf nesnesine veya yapıcı işlevine bir başvuru. | Object | |
![]() | currentTarget : Object [salt okunur]
Bu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne. | Event | |
| error : * [salt okunur]
Yakalanmamış hatayla ilişkili error nesnesi. | UncaughtErrorEvent | ||
![]() | errorID : int [salt okunur]
Belirli bir hatayla ilişkili başvuru numarasını içerir. | ErrorEvent | |
![]() | eventPhase : uint [salt okunur]
Olay akışındaki geçerli aşama. | Event | |
![]() | target : Object [salt okunur]
Olay hedefi. | Event | |
![]() | text : String
Bir textInput olayı için, kullanıcının girdiği karakter veya karakter dizisi. | TextEvent | |
![]() | type : String [salt okunur]
Olay türü. | Event | |
| Yöntem | Tanımlayan: | ||
|---|---|---|---|
UncaughtErrorEvent(type:String, bubbles:Boolean = true, cancelable:Boolean = true, error_in:* = null)
Bir uncaughtError olayıyla ilgili bilgiler içeren bir UncaughtErrorEvent nesnesi oluşturur. | UncaughtErrorEvent | ||
[geçersiz kıl]
UncaughtErrorEvent nesnesinin bir kopyasını oluşturur ve her özelliğin değerini, orijinal ile aynı olacak şekilde ayarlar. | UncaughtErrorEvent | ||
![]() |
Özel ActionScript 3.0 Event sınıfınızdaki toString() yöntemini uygulamak için bir yardımcı işlev. | Event | |
![]() |
Bir nesnenin belirli bir özelliğinin tanımlı olup olmadığını gösterir. | Object | |
![]() |
Olayda preventDefault() öğesinin çağrılmış olup olmadığını kontrol eder. | Event | |
![]() |
Object sınıfının bir örneğinin parametre olarak belirtilen nesnenin prototip zincirinde olup olmadığını gösterir. | Object | |
![]() |
Bir olayın varsayılan davranışını, bu yapılabiliyorsa iptal eder. | Event | |
![]() |
Belirtilen özelliğin bulunup bulunmadığını ve numaralandırılabilir olup olmadığını gösterir. | Object | |
![]() |
Dinamik bir özelliğin döngü işlemlerinde kullanılabilirliğini ayarlar. | Object | |
![]() |
Olay akışında geçerli düğümdeki ve ondan sonra gelen düğümlerdeki olay dinleyicilerin işlenmesini engeller. | Event | |
![]() |
Olay akışında geçerli düğümden sonra gelen düğümlerdeki olay dinleyicilerin işlenmesini engeller. | Event | |
![]() |
Bu nesnenin, yerel ayara özel kurallara göre biçimlendirilmiş dize temsilini döndürür. | Object | |
[geçersiz kıl]
UncaughtErrorEvent nesnesinin tüm özelliklerini içeren bir dize döndürür. | UncaughtErrorEvent | ||
![]() |
Belirtilen nesnenin temel değerini döndürür. | Object | |
| Sabit | Tanımlayan: | ||
|---|---|---|---|
| UNCAUGHT_ERROR : String = "uncaughtError" [statik]
Bir uncaughtError olay nesnesinin type özelliğinin değerini tanımlar. | UncaughtErrorEvent | ||
error | özellik |
error:* [salt okunur] | Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 2 |
Yakalanmamış hatayla ilişkili error nesnesi. Genelde, bu nesnenin veri türü şunlardan biridir:
- Bir hata örneği (veya onun alt sınıflarından biri), yakalanmamış hata
throwifadesi tarafından oluşturulan bir senkronize hata ise, böyle bir hata birtry..catchbloğu kullanılarak yakalanmış olabilir - Bir ErrorEvent örneği (veya onun alt sınıflarından biri), yakalanmamış hata oluştuğunda bir hata olayı gönderen senkronize olmayan bir hata ise
Ancak, error özelliği potansiyel olarak herhangi bir veri türüne ilişkin bir nesne olabilir. ActionScript yalnızca Error nesneleriyle kullanılan bir throw ifadesi gerektirmez. Örneğin, aşağıdaki kod hem derleme zamanında hem çalışma zamanında geçerlidir.
throw new Sprite()
Bu throw ifadesi bir try..catch bloğu tarafından yakalanmadıysa, throw ifadesi bir uncaughtError olayını tetikler. Böyle bir durumda, error gönderilen UncaughtErrorEvent nesnesi, throw ifadesinde yapılan Sprite nesnesidir.
Sonuç olarak, uncaughtError dinleyicinizde, error özelliğinin veri türünü kontrol etmeniz gerekir. Aşağıdaki örnek bunun nasıl kontrol edileceğini gösterir:
function uncaughtErrorHandler(event:UncaughtErrorEvent):void
{
var message:String;
if (event.error is Error)
{
message = Error(event.error).message;
}
else if (event.error is ErrorEvent)
{
message = ErrorEvent(event.error).text;
}
else
{
message = event.error.toString();
}
}error özelliği bir Error örneği (veya Error alt sınıfı) içeriyorsa, kullanılabilir hata bilgisi içeriğin çalıştığı çalışma zamanının sürümüne bağlı olarak şu şekilde değişiklik gösterir:
Flash Player veya AIR Hata Ayıklama Başlatıcısı (ADL) hata ayıklayıcı sürümü gibi bir çalışma zamanı hata ayıklayıcı sürümünde:
Error.getStackTrace()yöntemi, hataya sebep olan çağrı yığınını döndürürError.message, eksiksiz hata mesajı metnini içerir
Hata ayıklayıcı olmayan çalışma zamanı sürümünde:
Error.getStackTrace()yöntemi, hataya sebep olan çağrı yığınını döndürür. Ancak çağrı yığını bilgileri, kaynak dosya adlarını veya satır numaralarını içermez.Error.messageözelliği, hata mesajının kısa bir örneğini içerir, bu da genellikleError.errorIDveError.nameözelliklerinin birleşimidir
Hata ayıklayıcı olmayan çalışma zamanı sürümünde (Flash Player 11.4 veya önceki sürümleri ve AIR 1.4 veya önceki sürümleri):
Error.getStackTrace()yönteminullöğesini döndürürError.messageözelliği, hata mesajının kısa bir örneğini içerir, bu da genellikleError.errorIDveError.nameözelliklerinin birleşimidir
Error sınıfının diğer tüm özellik ve yöntemleri tüm çalışma zamanı sürümlerinde kullanılabilir.
error özelliği bir ErrorEvent örneği ise, çağrı yığını bilgilerinin hiçbir zaman kullanılamayacağını unutmayın.
Uygulama
public function get error():*UncaughtErrorEvent | () | Yapıcı |
public function UncaughtErrorEvent(type:String, bubbles:Boolean = true, cancelable:Boolean = true, error_in:* = null)| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 2 |
Bir uncaughtError olayıyla ilgili bilgiler içeren bir UncaughtErrorEvent nesnesi oluşturur.
type:String (default = NaN) — Olayın türü.
| |
bubbles:Boolean (default = true) — Event nesnesinin olay akışının köpürme aşamasında yer alıp almayacağını belirler. Olay dinleyicileri bu bilgilere miras alınan bubbles özelliği üzerinden erişebilir.
| |
cancelable:Boolean (default = true) — Event nesnesinin iptal edilip edilemeyeceğini belirler. Olay dinleyicileri bu bilgilere miras alınan cancelable özelliği üzerinden erişebilir.
| |
error_in:* (default = null) — Yakalanmayan veya işlenmeyen hatayla ilişkili nesne (normal şartlar altında bir Error veya ErrorEvent nesnesi).
|
clone | () | yöntem |
override public function clone():Event| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 2 |
UncaughtErrorEvent nesnesinin bir kopyasını oluşturur ve her özelliğin değerini, orijinal ile aynı olacak şekilde ayarlar.
DöndürürEvent — Orijinaliyle eşleşen özellik değerlerine sahip yeni bir UncaughtErrorEvent nesnesi.
|
toString | () | yöntem |
UNCAUGHT_ERROR | Sabit |
public static const UNCAUGHT_ERROR:String = "uncaughtError"| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 2 |
Bir uncaughtError olay nesnesinin type özelliğinin değerini tanımlar.
Not: Bir try bloğunda olay işleyicisini çağıran bir olay göndericisi varsa, catch bloğu olay işleyicisinde oluşturulan hatayı yakalamaz. Bundan sonra oluşturulan tüm hatalar LoaderInfo.uncaughtErrorEvents dinlenerek yakalanabilir.
Bu olay şu özelliklere sahiptir:
| Özellik | Değer |
|---|---|
bubbles | true |
cancelable | true; olayı iptal etmek, yakalanmamış hata iletişim kutusunun hata ayıklayıcı çalışma zamanı sürümlerinde görünmesini önler. |
currentTarget | Bu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne. |
error | Yakalanmamış hata. |
target | Hatanın gerçekleştiği SWF'yle ilişkili LoaderInfo nesnesi. |
text | Metin hata mesajı. |
uncaughtError olay işleyicisi tanımlıyor. O, ayrıca tıklatıldığında yakalanmamış hata işleyicisi tarafından yakalanan bir hata atan bir düğme sağlar.
Yapıcıda, kod bir Loader nesnesi oluşturur ve LoaderInfo nesnesinin uncaughtErrorEvents özelliği tarafından gönderilen uncaughtError olayı için bir dinleyici kaydeder.
uncaughtErrorHandler() yönteminde, kod error özelliğinin veri türünü kontrol eder ve ona göre yanıt verir.
package
{
import flash.display.Sprite;
import flash.events.ErrorEvent;
import flash.events.MouseEvent;
import flash.events.UncaughtErrorEvent;
public class UncaughtErrorEventExample extends Sprite
{
public function UncaughtErrorEventExample()
{
loaderInfo.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR, uncaughtErrorHandler);
drawUI();
}
private function uncaughtErrorHandler(event:UncaughtErrorEvent):void
{
if (event.error is Error)
{
var error:Error = event.error as Error;
// do something with the error
}
else if (event.error is ErrorEvent)
{
var errorEvent:ErrorEvent = event.error as ErrorEvent;
// do something with the error
}
else
{
// a non-Error, non-ErrorEvent type was thrown and uncaught
}
}
private function drawUI():void
{
var btn:Sprite = new Sprite();
btn.graphics.clear();
btn.graphics.beginFill(0xFFCC00);
btn.graphics.drawRect(0, 0, 100, 50);
btn.graphics.endFill();
addChild(btn);
btn.addEventListener(MouseEvent.CLICK, clickHandler);
}
private function clickHandler(event:MouseEvent):void
{
throw new Error("Gak!");
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo"
applicationComplete="applicationCompleteHandler();">
<fx:Script>
<![CDATA[
import flash.events.ErrorEvent;
import flash.events.MouseEvent;
import flash.events.UncaughtErrorEvent;
private function applicationCompleteHandler():void
{
loaderInfo.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR, uncaughtErrorHandler);
}
private function uncaughtErrorHandler(event:UncaughtErrorEvent):void
{
if (event.error is Error)
{
var error:Error = event.error as Error;
// do something with the error
}
else if (event.error is ErrorEvent)
{
var errorEvent:ErrorEvent = event.error as ErrorEvent;
// do something with the error
}
else
{
// a non-Error, non-ErrorEvent type was thrown and uncaught
}
}
private function clickHandler(event:MouseEvent):void
{
throw new Error("Gak!");
}
]]>
</fx:Script>
<s:Button label="Cause Error" click="clickHandler(event);"/>
</s:WindowedApplication>
uncaughtError olay işleyicisi tanımlıyor.
Yapıcıda, kod bir Loader nesnesi oluşturur ve Loader nesnesinin uncaughtErrorEvents özelliği tarafından gönderilen uncaughtError olayı için bir dinleyici kaydeder.
uncaughtErrorHandler() yönteminde, kod error özelliğinin veri türünü kontrol eder ve ona göre yanıt verir.
package
{
import flash.display.Loader;
import flash.display.Sprite;
import flash.events.ErrorEvent;
import flash.events.UncaughtErrorEvent;
import flash.net.URLRequest;
public class LoaderUncaughtErrorEventExample extends Sprite
{
private var ldr:Loader;
public function LoaderUncaughtErrorEventExample()
{
ldr = new Loader();
ldr.load(new URLRequest("child.swf"));
ldr.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR, uncaughtErrorHandler);
}
private function uncaughtErrorHandler(event:UncaughtErrorEvent):void
{
if (event.error is Error)
{
var error:Error = event.error as Error;
// do something with the error
}
else if (event.error is ErrorEvent)
{
var errorEvent:ErrorEvent = event.error as ErrorEvent;
// do something with the error
}
else
{
// a non-Error, non-ErrorEvent type was thrown and uncaught
}
}
}
}
Tue Jun 12 2018, 01:09 PM Z
Miras Alınan Genel Özellikleri Gizle
Miras Alınan Genel Özellikleri Göster