Adobe® Flash® Platform için ActionScript® 3.0 Başvurusu
Ana Sayfa  |  Paket ve Sınıf Listesini Gizle |  Paketler  |  Sınıflar  |  Yenilikler  |  Dizin  |  Ekler  |  Niçin İngilizce?
Filtreler: Sunucudan Veri Alınıyor...
Sunucudan Veri Alınıyor...
flash.events 

UncaughtErrorEvent  - AS3

Paketflash.events
Sınıfpublic class UncaughtErrorEvent
Miras AlmaUncaughtErrorEvent Inheritance ErrorEvent Inheritance TextEvent Inheritance Event Inheritance Object

Dil Sürümü: ActionScript 3.0
Çalışma Zamanı Sürümleri: Flash Player 10.1, AIR 2

Yakalanmamış bir hata oluştuğunda UncaughtErrorEvents sınıfının bir örneği tarafından bir UncaughtErrorEvent nesnesi gönderilir. Herhangi bir 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.

  1. (Yakalama Aşaması) A.swf'nin LoaderInfo nesnesi
  2. (Yakalama Aşaması) A.swf dosyasındaki yükleyici
  3. (Hedef Aşaması) B.swf'nin LoaderInfo nesnesi
  4. (Köpürme Aşaması) A.swf dosyasının LoaderInfo nesnesi
  5. (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.

Örnekleri görüntüle

İlgili API Öğeleri



Genel Özellikler
 ÖzellikTanımlayan:
 Inheritedbubbles : Boolean
[salt okunur] Bir olayın köpüren bir olay olup olmadığını belirtir.
Event
 Inheritedcancelable : Boolean
[salt okunur] Olayla ilişkilendirilmiş davranışın önlenebilir olup olmadığını gösterir.
Event
 Inheritedconstructor : Object
Belirli bir nesne örneği için sınıf nesnesine veya yapıcı işlevine bir başvuru.
Object
 InheritedcurrentTarget : Object
[salt okunur] Bu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne.
Event
  error : *
[salt okunur] Yakalanmamış hatayla ilişkili error nesnesi.
UncaughtErrorEvent
 InheritederrorID : int
[salt okunur] Belirli bir hatayla ilişkili başvuru numarasını içerir.
ErrorEvent
 InheritedeventPhase : uint
[salt okunur] Olay akışındaki geçerli aşama.
Event
 Inheritedtarget : Object
[salt okunur] Olay hedefi.
Event
 Inheritedtext : String
Bir textInput olayı için, kullanıcının girdiği karakter veya karakter dizisi.
TextEvent
 Inheritedtype : String
[salt okunur] Olay türü.
Event
Genel Yöntemler
 YöntemTanı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
 Inherited
formatToString(className:String, ... arguments):String
Özel ActionScript 3.0 Event sınıfınızdaki toString() yöntemini uygulamak için bir yardımcı işlev.
Event
 Inherited
Bir nesnenin belirli bir özelliğinin tanımlı olup olmadığını gösterir.
Object
 Inherited
Olayda preventDefault() öğesinin çağrılmış olup olmadığını kontrol eder.
Event
 Inherited
Object sınıfının bir örneğinin parametre olarak belirtilen nesnenin prototip zincirinde olup olmadığını gösterir.
Object
 Inherited
Bir olayın varsayılan davranışını, bu yapılabiliyorsa iptal eder.
Event
 Inherited
Belirtilen özelliğin bulunup bulunmadığını ve numaralandırılabilir olup olmadığını gösterir.
Object
 Inherited
Dinamik bir özelliğin döngü işlemlerinde kullanılabilirliğini ayarlar.
Object
 Inherited
Olay akışında geçerli düğümdeki ve ondan sonra gelen düğümlerdeki olay dinleyicilerin işlenmesini engeller.
Event
 Inherited
Olay akışında geçerli düğümden sonra gelen düğümlerdeki olay dinleyicilerin işlenmesini engeller.
Event
 Inherited
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
 Inherited
Belirtilen nesnenin temel değerini döndürür.
Object
Genel Sabitler
 SabitTanımlayan:
  UNCAUGHT_ERROR : String = "uncaughtError"
[statik] Bir uncaughtError olay nesnesinin type özelliğinin değerini tanımlar.
UncaughtErrorEvent
Özellik Ayrıntısı

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 throw ifadesi tarafından oluşturulan bir senkronize hata ise, böyle bir hata bir try..catch bloğ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ür
    • Error.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 genellikle Error.errorID ve Error.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öntemi null öğesini döndürür
    • Error.message özelliği, hata mesajının kısa bir örneğini içerir, bu da genellikle Error.errorID ve Error.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():*
Yapıcı Ayrıntı

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.

Parametreler
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).
Yöntem Ayrıntısı

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ür
Event — Orijinaliyle eşleşen özellik değerlerine sahip yeni bir UncaughtErrorEvent nesnesi.

toString

()yöntem 
override public function toString():String

Dil Sürümü: ActionScript 3.0
Çalışma Zamanı Sürümleri: Flash Player 10.1, AIR 2

UncaughtErrorEvent nesnesinin tüm özelliklerini içeren bir dize döndürür.

Döndürür
String — UncaughtErrorEvent nesnesinin tüm özelliklerini içeren bir dize.
Sabit Ayrıntısı

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:

ÖzellikDeğer
bubblestrue
cancelabletrue; olayı iptal etmek, yakalanmamış hata iletişim kutusunun hata ayıklayıcı çalışma zamanı sürümlerinde görünmesini önler.
currentTargetBu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne.
errorYakalanmamış hata.
targetHatanın gerçekleştiği SWF'yle ilişkili LoaderInfo nesnesi.
textMetin hata mesajı.

UncaughtErrorEventExample.1.as

Aşağıdaki örnekte bir yakalanmamış hata olayı işleyicisinin bir ActionScript projesindeki yakalanmamış hataları algılamak için kullanılması gösteriliyor. Örnek yakalanmamış hataları algılamak için bir 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!");
        }
    }
}
UncaughtErrorEventExample.1.5.as

Aşağıdaki örnek, önceki; kök içeriği için ActionScript sınıfı yerine bir MXML belgesinin kullanılması, örneğinin Flex eşdeğeridir.
<?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>
UncaughtErrorEventExample.2.as

Aşağıdaki örnekte bir yakalanmamış hata olayı işleyicisinin yüklü bir SWF'deki yakalanmamış hataları algılamak için kullanılması gösteriliyor. Örnek yakalanmamış hataları algılamak için bir 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
            }
        }
    }
}




[ X ]Niçin İngilizce?
ActionScript 3.0 Başvurusu'ndaki içerik İngilizce görünür

ActionScript 3.0 Başvurusu'nun tüm bölümleri tüm dillere çevrilmemiştir. Bir dil öğesi çevrilmediğinde İngilizce görünür. Örneğin, ga.controls.HelpBox sınıfı hiçbir dile çevrilmez. Bu nedenle, başvurunun Türkçe versiyonunda ga.controls.HelpBox sınıfı İngilizce görünür.