İçeriğe geç

Kitaplar / Yöntem Dil Başvurusu / 8. Hatalar

8. Hatalar

Çıktı
dene_deyimi: 'dene' deyimler
             ['yakala' ['(' AD ')'] deyimler]
             ['sonunda' deyimler]
             'bitir'

dene bölümündeki deyimler çalışırken bir hata oluşursa denetim yakala bölümüne geçer; ayraç içindeki ad hata nesnesine bağlanır. sonunda bölümü, hata olsa da olmasa da, dene deyiminden çıkılırken çalışır. Yakalanmayan hata dıştaki dene deyimine, o da yoksa programın sonuna kadar yayılır; program “Çalışma hatası” iletisi ve 1 çıkış koduyla biter.

Yöntem
dene
  fırlat Hata('Geçersiz giriş', 'DoğrulamaHatası')
yakala (h)
  yaz(h.mesaj + ' / ' + h.tür, 1)
sonunda
  yaz('bitti', 1)
bitir
Çıktı
Geçersiz giriş / DoğrulamaHatası
bitti

fırlat ifade bir hata başlatır. Hata(mesaj) ya da Hata(mesaj, tür) bir hata nesnesi oluşturur; nesnenin mesaj ve tür alanları vardır. Kendi sınıflarınızın nesneleri de fırlatılabilir. Çalışma zamanı hataları (sıfıra bölme, sınır aşımı, tip uyuşmazlığı, tanımsız ad) aynı yolla yakalanır; türleri Hata’dır. İddia(koşul, mesaj) koşul yanlışsa hata fırlatır.

Sözdizimi hataları program çalışmadan önce bildirilir ve yakalanamaz.