AutoPlay de Hata Kontrolü

guclusat

Tanınmış Üye
Süper Moderatör
Birçok uygulama gerçekleştirirken hata kontrolü kaçınılmazdır. Eee ne demişler "Hatasız kul olmaz". Doğru demişler gerçekten hatasızda program olmuyor maalesef . Neyse gelelim hata kontrolümüze peki bunu nasıl yapacağız basit bir örnek vermek istiyorum sizlere.

-------XML YÜKLEME--------

XML.Load("C:\\dosya.xml");

Yukarıdaki kodda bir xml dosyası yükledik kod alanımıza. Peki bu xml dosyası kesinlikle yüklenecek mi sadece bu kodu yazdığımızda? Tabiki hayır yükleme esnasında herhangi bir hata meydana gelebilir. Örneğin xml dosyasının yapısı bozuk olabilir veya xml doğru kodlanmamış olabilir. Ya da en önemlisi xml dosyası belirtilen konumda olmayabilir( Bu durumda mümkün yani dosya yok :S). Peki bu durumda ne yapmalıyız işte bu durumda yardımımıza Application.GetLastError() fonksiyonumuz yetişiyor. Fonksiyonumuz bize number türünde (yani sayı )değer döndürür. İşte bu döndürdüğü sayıyla ne hata meydana gelmiş veya başarılı yükleme gerçekleştiğini anlayabiliriz. İşlem ancak geriye 0 değerini döndürdüğünde başarılı gerçekleşir. Şimdi kodu düzenleyelim.

Kod:
-------XML YÜKLEME--------
XML.Load("C:\\dosya.xml");
-- Hata Kontrolü
error = Application.GetLastError(); ----error adlı değişkene atadık geri  dönecek number değerini
if (error ~= 0) then -----hata varsa kontrol yapısını gerçekleştir.
Dialog.Message("Hata", _tblErrorMessages[error], MB_OK,  MB_ICONEXCLAMATION);
end

Bu şekilde yapabiliriz ya da Dialog.Message() fonksiyonunu istediğimiz doğrultusunda değiştirebiliriz. Mesela
Dialog.Message("Hata","XML dosyası yüklenirken bir hata meydana geldi."); de diyebiliriz. Bu size kalmış tabi örnekleri çoğaltabiliriz. Son bir örnek daha verelim daha iyi anlayın konuyu.

Kod:
-----------zip dosyasını dışarı çıkartma---------------------
Zip.Extract("AutoPlay\\Docs\\dosya.zip", {"*.*"}, "C:\\Yukle", true, true,  "", 3, nil);
-----------hemen hata var mı kontrol edelim---------------
hata=Application.GetLastError();
if (hata~=0) then
Dialog.Message("Hata","Zip dosyası çıkartılırken bir hata meydana  geldi.");
else ------hata kodu 0 dan farklı ise yani işlem başarılı ise
Dialog.Message("İşlem","Zip dosyası başarılı bir şekilde çıkartıldı.");
end

Şimdilik bu kadar kolay gelsin...
 
Son düzenleme:
Geri
Yukarı