Archive for Ekim 5th, 2010

İyimser Eşzamanlı İstisnalar(Optimistic Concurrency Exceptions)

İyimser eşzamanlı kontrolü (optimistic concurrency check (OCC)) AX 2009 da performance arttırma işlevidir. Gerçek güncelleme anına kadar, veri tabanından alınan bir kayıt değiştirilmeyecek varsayılır. Bunun anlamı veri tabanında ki bu kayıt üzerinde daha az kilit olması ve diğer kullanıcıların daha hızlı erişmesidir.

Aynı zamanda bunun anlamı bir kullanıcı kaydı güncellerken diğeride bu kaydı ele alabilir. Bu da kayıt tutarsızlığına sebep olabilir. Şöyle ki; eğer ikinci kullanıcıda kaydı güncellemeyi dener ise bir hata fırlatılır. Bu durumda sistem şunu yapar; recVersion alanını kullanarak hangisi güncellendi ise bir kayıt için her seferinde bir güncelleme yapılır.

OCC İstisna Yönetimi

catch (Exception::UpdateConflict)        

Read more

Try ve Catch Komutları

 

Try komutu istisna yönetimi yapacağın kod bloğunun başladığını gösterir. Ve bu blok içinde herhangi bir istisna fırlatılır ise yakalanabilir ve buna göre yönetilebilir.

Catch ifadesi try bloğundan sonra gelir ve bir istisna fırlatıldığında yakalanıp hangi kodun işletileceğini tanımlar. Catch durumu tanımlanmak zorunda değildir ama yinede her try durumu bir catch durumuna sahip olmalıdır.

Retry komutu sistemin tekrar try bloğu içindeki kodu işlemesi anlamına gelir.

Read more

İstisnalar (Exceptions)

İstisna programın normal akışı kesildiğinde ortaya çıkan durumdur.  İstisna örnekleri:

  • Yazdırma sırasında printerin güç düğmesinin açık olmaması
  • Olmayan bir dosyaya erişmek
  • Olmayan bir kaydı güncellemek

Bu istisnalar meydana geldiğinde program bunları yönetmek için harekete geçmelidir. Örneğin, eğer kullanıcı olmayan bir dosyayı ele almayı istemiş ise sistem bu istisnayı yakalamalı ve yeni bir dosya oluşturmalı gibi.

Read more