C# hataları try/catch/finally ile yakalanan exceptions ile işler. Uygun istisnai durum işleme, belirli istisnai durum türlerini yakalama, kaynakları temizleme (sık sık using ile), anlamlı özel istisnalar oluşturma ve hataları sessizce gizlememek anlamına gelir.
