Sadece ele alınabilecek istisnaları yakalamamız gerektiğini okudum, bu da temel istisna sınıfını yakalamayı (bu durumda C #) kötü bir fikir (diğer nedenlerin üstünde) haline getiriyor. Şu anda şimdiye kadar yakalanan temel istisna dışında hiçbir şey görmediğim bir projenin parçasıyım. Bunu yapmanın kötü bir uygulama olarak değerlendirildiğinden bahsettim, ancak yanıt "Bu hizmetin 7/24 çalışması gerekiyor, bu şekilde."
7 gün 24 saat çalışması gereken bir programda istisnaların nasıl düzgün bir şekilde ele alınacağı konusunda iyi bir yanıtım olmadığından, şimdi buradayım. "Kritik" programlar / gece gündüz çalışması gereken hizmetlerde istisna işleme ile nasıl başa çıkılacağı hakkında herhangi bir bilgi / öneri bulmayı başaramadım (ve bu durumda hizmet bir dakika kapalı ise tamam olabilir inanıyorum veya iki, bu yüzden kritik değil). Programın doğasına bağlı olduğunu anlıyorum. Hayatı tehdit eden sorunlara neden olabilecek bir programın gereksinimleri, bir çevrimiçi oyunun günlük tarayıcısına kıyasla oldukça farklıdır.
İki örnek:
1: Demiryolları için çevrimiçi arama yaparken kullanılan İngiliz demiryollarının müşterileri için önde gelen bir hizmet.
2: Raylar, trenler vb. Çeşitli sensörlerden sağlanan gerçek zamanlı bilgilere dayanarak yukarıdaki demiryolları için demiryolu anahtarlarını otomatik olarak kontrol eden bir program.
İlk program muhtemelen bir veya iki dakika boyunca düşerse büyük bir soruna neden olmaz, ikincisi insan kayıplarına neden olabilir. Her biri ile nasıl başa çıkılacağına dair öneriler? Bu konu hakkında daha fazla bilgi ve düşünceyi nerede bulabileceğimi gösteren bir işaretçi misiniz?
catch Exception
. Bu, programınızın çalıştığı anlamına gelmez , başarısızlıklar, yürütmeye devam ederken uygulama durumunun bozulmasına izin verir, çok daha tehlikeli bir yer. Çökmüş bir program felaket olabilir, ancak geçersiz durumda olan ancak yine de eylem gerçekleştiren bir program aktif olarak felaket olabilir.