Ç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ırlatma
sı gerekir.
-
Senkronize
-
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.