Hatalardan Kurtulma
Önceki XII. Oylum - Akımlar Üzerinde Giriş/Çıkış Sonraki
Hatalardan Kurtulma
Bir hatayı ya da dosya sonu durumunu clearerr işlevi ile doğrudan temizleyebilirsiniz.
void clearerr
(FILE *akım)
işlev
Bu işlev akım akımı ile ilgili dosya sonu ve hata göstergelerini temizler.
Ayrıca dosya konumlama işlevleri de (Dosyalarda Konumlama) akım ile ilgili dosya sonu göstergesini temizler.
void clearerr_unlocked
(FILE *akım)
işlev
clearerr_unlocked işlevi akımı dolaylı olarak kilitlememesi dışında clearerr işlevi ile aynıdır.
Bu işlev bir GNU oluşumudur.
Not
Hata göstergesinin temizlenmesi ve başarısız akım işlevinin yinelenmesi doğru olmaz. Başarısız bir yama işleminden sonra, tamponda olup da dosyaya gönderilmesi gereken verinin bir kısmı iptal olabilir. Bir kere yinelense bile verinin kaybına ya da tekrarına sebep olabilir.
Başarısız bir okuma ise ikinci deneme için dosya göstericisini ilgisiz bir konumda bırakabilir. Her iki durumda da işlemi yinelemeden önce bilinen konuma ilerlemeniz gerekir.
Hataların çoğu kurtarılabilir değildir; ikinci bir deneme daima aynı şekilde başarısız olur. En iyisi karmaşık hata kurtarma kodları yazmak yerine, hatayı kullanıcıya raporlayarak işlemi kesmektir.
Bir önemli hata durumu da EINTR’dir (Sinyallerle Kesilen İlkeller). Çoğu akım G/Ç gerçeklemesi onu az çok sakıncalı sıradan bir hata olarak ele alır. Tüm sinyalleri SA_RESTART bayrağıyla kurarak bu rahatsız edici durumdan kaçınabilirsiniz.
Benzer sebeplerle, bir akımın dosya tanıtıcısının bloklamayan G/Ç olarak ayarlanması genellikle tavsiye edilmez.
Önceki Üst Ana Başlık Sonraki
Dosya Sonu ve Hatalar Başlangıç İkilik ve Metin Akımları
Bir Linux Kitaplığı Sayfası