«exception-handling» etiketlenmiş sorular

İstisna yönetimi, özel işlem gerektiren anormal veya istisnai koşulların ortaya çıkmasına yanıt verme sürecidir - genellikle programın normal yürütme akışını değiştirir.

9
Hata işleme - Bir program hatalarda başarısız olursa veya sessizce yoksayarsa
Bir ağ üzerinden MIDI iletmek için basit bir küçük program yazıyorum. Programın iletim sorunları ve / veya tahmin edemeyeceğim diğer istisna durumları ile karşılaşacağını biliyorum. İstisna yönetimi için iki yaklaşım görüyorum. Programı yazmalı mıyım ki: bir şeyler ters gittiğinde patlama ile başarısız olur veya sadece hatayı yoksaymalı ve veri bütünlüğü …

10
Neden istisna yerine bug kelimesini kullanmıyorsunuz? [kapalı]
Kapalı . Bu soru görüş temelli . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek ister misiniz? Bu yayını düzenleyerek gerçekler ve alıntılarla yanıtlanabilmesi için soruyu güncelleyin . 5 yıl önce kapalı . İstisnaları hata olarak adlandırırsak, neden istisna yerine ilk etapta sadece bir hata olarak adlandırılmıyor? Kodda istisna denir …

3
Scala'da Kontrol Edilmemiş İstisnalar Kararı
Bir java programcısı olarak, her zaman Denetlenmeyen İstisnalar'ı eleştirdim. Çoğunlukla programcılar bunu daha sonra sorun yaratmak için kolay kodlama yolu olarak kullanırlar. Ayrıca, kontrol edilmiş istisnaları olan (düzensiz olsa da) programlar, kontrol edilmemiş muadillerine kıyasla çok sağlamdır. Şaşırtıcı bir şekilde Scala'da, Kontrol Edilen İstisnalar diye bir şey yoktur. Kontrol edilen …

2
Soyut istisna süper türü
Atma System.Exceptionbu kadar kötü kabul edilirse , neden ilk etapta Exceptionyapılmadı abstract? Bu şekilde aramak mümkün olmazdı: throw new Exception("Error occurred."); Bu, oluşan hata hakkında daha fazla ayrıntı sağlamak için türetilmiş istisnalar kullanılmasını zorunlu kılar. Örneğin, bir kütüphane için özel bir istisna hiyerarşisi sağlamak istediğimde, istisnalarım için genellikle soyut bir …


6
yedekler için iç içe geçmiş yakalama seçeneklerine alternatifler
Bir nesneyi almaya çalıştığım bir durum var. Arama başarısız olursa, her biri başarısız olabilecek birkaç yedekim var. Kod şöyle görünür: try { return repository.getElement(x); } catch (NotFoundException e) { try { return repository.getSimilarElement(x); } catch (NotFoundException e1) { try { return repository.getParentElement(x); } catch (NotFoundException e2) { //can't recover throw …

1
Varsayılan bir yapıcıyı kullanılamaz hale getirmek iyi bir şey midir?
Özellikle varsayılan kurucu hakkında soru sorma Yapıcı bir nesnenin tüm verilerini başlatırsa, düzgün başlatma olmadan kullanılamayan bir sınıf oluşturursam, varsayılan kurucunun işe yaramaz olması gerekmez mi? Düşünmek: // A class for handling lines in a CSV file class CSV_Entry { private: unsigned num_entries; std::string string_version; std::vector<std::string> vector_version; ...etc public: CSV_Entry(); …

5
7/24 çalışması gereken bir programda istisna işleme
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 …

3
Sistem hatalarını ortaya çıkarma / tolere etme / kurtarmaya bir tasarım deseni / yaklaşımı, Özel durum işleme (Java'daki egs, C ++, Perl, PHP) önerme
Sistem hatalarını, Özel Durum işlemeyi (Java, C ++, Perl, PHP) ortaya çıkarmak / tolere etmek / kurtarmak için bir tasarım deseni / yaklaşımı önerebilir misiniz? Bazı hataların bildirilmesi gerekir. Bazı hatalar dahili olarak ele alınabilir (yeniden deneme yoluyla veya önemsizdir (yok sayılabilir). Kodu yakalamak için nasıl yapılandırıyorsunuz? Ancak tüm hataların …

2
Kaydedici hatalarını nasıl ele almalıyım?
Şirketimizin birçok uygulamasında özel bir kayıt cihazı kullanıyoruz. Oldukça sağlamdır, ancak gelecekte NLog gibi bir şeyle değiştirebiliriz. Kaydedicinin görevlerinden biri, uygulamada karşılaşılan istisnaları günlüğe kaydetmektir. Her zaman yaşadığım bir endişe , logger içindeki istisna işlemenin sessiz bir arızaya izin vermesidir. Yani, günlük belirli bir istisna için yazılmamışsa (kaydedicideki bir hata …

5
Muhtemelen istisna dışında işlemlerle kodun güçlendirilmesi
Kodun başka bir bölümünün doğru kodlanmamış olması durumunda işe yaramaz istisna işlemeyi uygulamak iyi bir uygulama mı? Temel örnek Basit bir tane, bu yüzden herkesi kaybetmem :). Diyelim ki bir kişinin bilgilerini (ad, adres vb.) Görüntüleyecek bir uygulama yazıyorum, veriler bir veritabanından çıkartılıyor. Diyelim ki UI bölümünü kodlayan benim ve …

1
En iyi istisna yönetimi uygulamaları veya önerileri? [kapalı]
Kapalı. Bu soru konu dışı . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek ister misiniz? Soruyu Yazılım Mühendisliği Yığın Değişimi için konuyla ilgili olacak şekilde güncelleyin . 5 yıl önce kapalı . Programlarımdaki iki temel sorunun kod yapım / organizasyonum ve hata işlemem olduğunu düşünüyorum. Code Complete 2'yi okuyorum, …


8
Bilgilendirici istisnaları ve temiz kodu dengelemenin iyi yolları nelerdir?
Herkese açık SDK'mızla, bir istisnanın neden oluştuğu hakkında çok bilgilendirici mesajlar verme eğilimindeyiz. Örneğin: if (interfaceInstance == null) { string errMsg = string.Format( "Construction of Action Argument: {0}, via the empty constructor worked, but type: {1} could not be cast to type {2}.", ParameterInfo.Name, ParameterInfo.ParameterType, typeof(IParameter) ); throw new InvalidOperationException(errMsg); …

4
Yakalama kullanmak için özel olarak istisnalar oluşturma
if...elseKural dışı durum işleme ile sarılmış tipik bir örnek için, aşağıdaki örnek gibi bir şey kod çoğaltmasını önlemek için önerilen bir uygulama mıdır? try { if (GetDataFromServer()) { return ProcessData(); } else { throw new Exception(); } catch(Exception ex) { return null; } onun yerine... try { if (GetDataFromServer()) { …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.