Hata işlemenin temelleri

Flash Player 9 ve üstü, Adobe AIR 1.0 ve üstü

Çalışma zamanı hatası, ActionScript içeriğinin istenen şekilde çalışmasını engelleyen ActionScript kodunda ters giden bir şeydir. ActionScript kodunuzun kullanıcılar için sorunsuz bir biçimde çalışmasını sağlamak için hatayı işleyen; yani hatayı gideren, geçici bir çözüm oluşturan veya en azından kullanıcının hata oluştuğunu bilmesini sağlayan bir kod yazın. Bu işleme hata işleme adı verilir.

Hata işleme, derleme sırasında veya bir uygulama çalışırken atılan birçok türde hatayı yanıtlayan geniş bir kategoridir. Derleme zamanında gerçekleşen hataların tanımlanması genellikle daha kolaydır. SWF dosyası oluşturma işlemini tamamlamak için bu hataları giderin.

Çalışma zamanı hatalarının gerçekleşmesi için kodun gerçekten çalışıyor olması gerektiğinden, çalışma zamanı hatalarının algılanması daha zor olabilir. Programınızın bir parçasında birçok kod dalı (bir if..then..else ifadesi varsa, kodunuzun hatasız olduğunu onaylamak için, gerçek kullanıcıların kullanabileceği her olası değeri, tüm olası girdi değerleriyle birlikte test edin.

Çalışma zamanı hataları iki kategoriye ayrılır: program hataları, ActionScript kodunuzdaki hatalardır, örn. bir yöntem parametresi için yanlış veri türünün belirtilmesi; mantıksal hatalar, programınızın mantığındaki (veri denetleme ve değer işleme) hatalardır, örn. bankacılık uygulamasında faiz oranlarını hesaplamak için yanlış formülün kullanılması. Bu iki hata türü de, genellikle uygulamanızın test edilmesiyle zaman içerisinde algılanıp düzeltilebilir.

İdeal olarak uygulamanızdaki tüm hataları son kullanıcılara yayınlanmadan tanımlayıp kaldırmak istersiniz. Ancak tüm hatalar önceden görülüp önlenemez. Örneğin, ActionScript uygulamanızın denetiminiz dışındaki belirli bir web sitesinden bilgi yüklediğini varsayın. Bir noktada bu web sitesi kullanılabilir olmazsa, uygulamanızın bu harici veriye dayanan kısmı doğru şekilde davranmaz. Hata işlemenin en önemli boyutu, bilinmeyen durumlar için hazırlanma ve sorunsuz bir biçimde işlenmeleridir. Kullanıcıların, uygulamanızı kullanmaya devam etmek veya en azından uygulamanın neden çalışmadığını açıklayan samimi bir hata mesajı almaya ihtiyacı vardır.

Çalışma zamanı hataları ActionScript'te iki şekilde temsil edilir:

  • Hata sınıfları: Çoğu hatanın kendisiyle ilişkilendirilmiş bir hata sınıfı vardır. Bir hata oluştuğunda, Flash çalışma zamanı (Flash Player veya Adobe AIR gibi), söz konusu hatayla ilişkilendirilmiş belirli hata örneğini oluşturur. Kodunuz, hataya uygun bir yanıt oluşturmak için bu hata nesnesinde bulunan bilgileri kullanabilir.

  • Hata olayları: Bazen, Flash çalışma zamanı normalde bir olay tetikleyecekken bir hata oluşur. Böyle durumlarda olay yerine bir hata olayı tetiklenir. Her hata olayının kendisiyle ilişkilendirilmiş bir sınıfı vardır ve Flash çalışma zamanı, hata olayına abone olan yöntemlere bu sınıfın bir örneğini iletir.

Belirli bir yöntemin bir hatayı mı yoksa hata olayını mı tetikleyeceğini belirlemek için Adobe Flash Platformu için ActionScript 3.0 Başvurusu'ndaki yöntem girişine bakın.

Önemli kavramlar ve terimler

Aşağıdaki referans listesinde, hata işleme rutinlerinin programlanmasıyla ilgili önemli kavramlar yer alır:

Senkronize olmayan
Hemen sonuç sağlamayan, bunun yerine olay şeklinde bir sonuç (veya hata) veren bir yöntem çağrısı gibi program komutu.

Yakalamak
Bir istisna (çalışma zamanı hatası) gerçekleşip kodunuz istisnayı fark ettiğinde bu kod istisnayı yakalamış olur. Bir istisna yakalandığında, Flash çalışma zamanı istisnayı diğer ActionScript kodlarına bildirme işlemini durdurur.

Hata ayıklayıcı sürümü
Flash çalışma zamanının çalışma zamanı hatalarını kullanıcılara bildiren Flash Player hata ayıklayıcı sürümü veya AIR Hata Ayıklama Başlatıcısı'na (ADL) benzeyen özel bir sürümü. Standart Flash Player veya Adobe AIR sürümünde (çoğu kullanıcının kullandığı), ActionScript kodunuz tarafından işlenmeyen hatalar yoksayılır. Hata ayıklayıcı sürümlerde (Adobe Flash CS4 Professional ve Adobe Flash Builder uygulamalarıyla dahil edilmiştir), işlenmemiş bir hata oluştuğunda bir uyarı mesajı görüntülenir.

İstisna
Bir uygulama çalışırken oluşan ve Flash çalışma zamanının kendiliğinden çözemediği bir hata.

Yeniden atma
Kodunuz bir istisna yakaladığında, Flash çalışma zamanı onu artık istisnaya ait diğer nesnelere bildirmez. İstisnanın diğer nesnelere bildirilmesi önemliyse, kodunuzun bildirim işlemini yeniden başlatmak için istisnayı yeniden fırlatması gerekir.

Eşzamanlı
Hemen sonuç sağlayan (veya hemen bir hata fırlatan), yani yanıtın aynı kod bloğunda kullanılabildiğini bir program komutudur (bir yöntem çağrısı gibi).

Atma
Flash çalışma zamanı uygulamasına bir hata oluştuğunu bildirme (ve bunun sonucunda diğer nesnelere ve ActionScript koduna da bildirme) eylemi, hata atma olarak bilinir.