Reklam ver...

AutoLISP: Hata kontrolü 2 (Error Handling)



Yazar Erhan Toker
Mesleği Y. Mimar İTÜ
  Autodesk Yetkili Danışmanı
web Programcı
e-mail  

Önceki yazımızda Tablo 1 ile gösterilen tabloda hata yorumlama fonksiyonlarından *error* ‘ı anlattık. Bu yazımızda da alert, exit ve quit fonksiyonlarını ele alacağız: (alert msg) Fonksiyonu

Tablo.1
Tablo.1

Bu fonksiyon ekrana bir mesaj kutusu çıkarır ( Şekil 1 )

Fig.1
Figure 1

Bu tip mesaj kutuları prensip olarak geri dönülebilir hatalarda ya da kullanıcıya bir şans daha vermek için kullanılır. Bizim örneğimizdeki hata programın çalışmasını bitirdiği için bu tip bir hata penceresi kullanmak kullanıcıya, fare kullanmak ya da ENTER tuşuna basmak zahmetinden başka bir yenilik getirmez. Ancak kullanıcıdan elde edilen veri girişlerini kontrol ederek örneğin şöyle bir mesaj çıkarırsak daha uygun olacaktır ( Şekil 2 ):

Fig.2
Figure 2

Şimdi örnek üzerinde inceleyelim ( Şekil 3 ):

Fig.3
Figure 3

46. satırda (getint) fonksiyonu ile kullanıcıdan bir tam sayı girmesini istiyoruz. 50.satırda ise girilen tam sayının 0 dan farklı olup olmadığına bakıyoruz. Eğer 0 değerine sahipse bir uyarı verip foksiyondan çıkmış oluyoruz. Eğer girilen tamsayı 0’dan farklı ise bölme işlemi gerçekleştiriliyor. Böylelikle programcı bölme işleminde hata oluşmasının önüne geçmiş oluyor. Ancak gene de kullanıcı (getint) fonksiyonuna ‘Esc’ tuşu ile cevap verirse programımızın hata fonksiyonu işleyecektir ve aşağıdaki mesajı verecektir:

Command: test
Enter an integer:*Cancel*
Error in function C:TEST
Error desc.:Function cancelled

(alert msg) fonksiyonu nil döndürür ve hata mesajında yeni satır sabitini ( \n ) kabul eder. Yani çok satırlı mesajlar yazabilirsiniz.

(exit) ve (quit) Fonksiyonları

Her iki fonksiyon da aynı işi görür ve herhangi bir aşamada programdan çıkılmasını sağlar. Programcı için kaçınılması gereken bir sonlandırma yöntemidir. Yine de kullanmak zorunda kalırsanız bu durumda da hata kontrol fonksiyonumuz devreye girecektir ( Şekil 4 )

Fig.4
Figure 4

Programı çalıştırıp istenen değere 0 girerseniz (exit) fonksiyonu çalışacaktır ve hata kontrol fonksiyonumuz çalışacaktır :

Command: test
Enter an integer:0

Error in function C:TEST
Error desc.:quit / exit abort

Bu günlük bu kadar. Hoşcakalın.

Günün Sözü : Bir adam yetiştirirsen bir kişi yetiştirmiş olursun, bir kadın yetiştirirsen bir aile yetiştirmiş olursun.

İlgili Yazılar :

Rastgele bir yazı

 Votes | Average: 0 out of 5 Votes | Average: 0 out of 5 Votes | Average: 0 out of 5 Votes | Average: 0 out of 5 Votes | Average: 0 out of 5 (Henüz oy yok)
Loading ... Loading ...

Yorum bırak