0Pricing
C Academy · Ders

C'de istisna işleme

Yerleşik istisna işleme olmadan sağlam hata işleme stratejileri uygulayın

C'de istisna işleme, CoddyKit'te ücretsiz bir C Academy dersidir. Bu, 3 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C Academy kursu toplamda 3 dersten oluşur.

İstisna Yönetimine Giriş

C Dilinde İstisna Yönetimi

C++, Java gibi dillerin aksine C dilinde yerleşik istisna yönetimi bulunmaz.

Bu derste şunları öğreneceksiniz:

  • Dönüş değerlerini kullanarak hataların nasıl yönetileceğini.
  • İstisna yönetimi için setjmp ve longjmp işlevlerinin nasıl kullanılacağını.
  • Sistem hatalarını yönetmek için errno değişkeninin nasıl kullanılacağını.
C'de istisna işleme — resim 1

Hataları Dönüş Değerleriyle Yönetme

Hataları Dönüş Değerleriyle Yönetme

C dilinde hataları yönetmenin en basit yolu, dönüş değerlerini kullanmaktır.

Örnek:

int divide(int a, int b) { if (b == 0) return -1; // Error code return a / b; }

Çağıran kod, hataları denetlemek için dönüş değerini kontrol eder.

Örnek: Hataları Dönüş Değerleriyle Yönetme

Örnek: Hataları Dönüş Değerleriyle Yönetme

Bu program, dönüş değerlerini kullanarak sıfıra bölme durumunu denetler.

#include <stdio.h>

int divide(int a, int b) {
    if (b == 0) {
        printf("Error: Division by zero!\n");
        return -1;
    }
    return a / b;
}

int main() {
    int result = divide(10, 0);
    if (result != -1) {
        printf("Result: %d\n", result);
    }
    return 0;
}

Hata Yönetimi İçin setjmp ve longjmp Kullanma

Hata Yönetimi İçin setjmp ve longjmp Kullanma

setjmp ve longjmp işlevleri, istisna yönetimini taklit ederek yerel olmayan atlamalara olanak tanır.

Adımlar:

  • Bir kurtarma noktası işaretlemek için setjmp() kullanın.
  • Bir hata oluştuğunda geriye atlamak için longjmp() kullanın.

Örnek: setjmp ve longjmp Kullanma

Örnek: setjmp ve longjmp Kullanma

Bu program, hata yönetimi için setjmp ve longjmp kullanır.

#include <stdio.h>
#include <setjmp.h>

jmp_buf buffer;

void errorHandler() {
    printf("Error occurred! Jumping back to safe state.\n");
    longjmp(buffer, 1);
}

int main() {
    if (setjmp(buffer) == 0) {
        printf("Executing main program...\n");
        errorHandler();
    } else {
        printf("Recovered from error.\n");
    }
    return 0;
}

Sistem Hataları İçin errno Kullanma

Sistem Hataları İçin errno Kullanma

errno değişkeni, sistem çağrılarından dönen hata kodlarını depolar.

Örnek:

#include

fopen() gibi işlevler, hatalar oluştuğunda errno değerini ayarlar.

Örnek: Dosya İşlemleri İçin errno Kullanma

Örnek: Dosya İşlemleri İçin errno Kullanma

Bu program, var olmayan bir dosyayı açarken errno değerini denetler.

#include <stdio.h>
#include <errno.h>

int main() {
    FILE *file = fopen("nonexistent.txt", "r");
    if (!file) {
        perror("Error opening file");
    }
    return 0;
}

Hata Yönetimi İçin En İyi Uygulamalar

Hata Yönetimi İçin En İyi Uygulamalar

Hataları etkili bir şekilde yönetmek için:

  • İşlevlerin dönüş değerlerini denetleyin.
  • Sistem hataları için errno kullanın.
  • setjmp ve longjmp işlevlerini yalnızca gerektiğinde kullanın.

Özet

Özet

Bu derste şunları öğrendiniz:

  • Dönüş değerlerini kullanarak hataların nasıl yönetileceğini.
  • setjmp ve longjmp işlevlerinin istisna yönetimini nasıl taklit ettiğini.
  • Sistem hatalarını tespit etmek için errno değişkeninin nasıl kullanılacağını.

C dilinde Hata Ayıklama ve Hata Yönetimi bölümü burada sona eriyor!

C'de istisna işleme — resim 10

Sıkça Sorulan Sorular

“C'de istisna işleme” dersi ücretsiz mi?

Evet — “C'de istisna işleme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C Academy kursu toplamda 3 dersten oluşur.

“C'de istisna işleme” dersinde ne öğreneceğim?

Yerleşik istisna işleme olmadan sağlam hata işleme stratejileri uygulayın C Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

C Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te C Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 3. dersidir.

“C'de istisna işleme” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu C Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her C Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. GDB ile hata ayıklama
  2. Yaygın çalışma zamanı hataları
  3. C'de istisna işleme
← C Academy Sayfasına Dön