«exceptions» etiketlenmiş sorular

Bir istisna, bir uygulama sürecinde programın normal akışından sapma gerektiren bir durumdur.

7
Neden C ++ 'nihayet' yapı yok?
C ++ 'da kural dışı durum işleme, dene / at / yakala ile sınırlıdır. Object Pascal'dan farklı olarak Java, C # ve Python, C ++ 11'de bile finallyyapı uygulanmadı. "İstisna güvenli kodunu" tartışan çok fazla C ++ literatürü gördüm. Lippman, güvenli kod istisnasının, Primerinin kapsamının ötesinde, önemli ama gelişmiş, zor …
57 c++  exceptions 

12
Genel istisnaları yakalamak gerçekten kötü bir şey midir?
Genellikle çoğu kod analizi uyarısına katılıyorum ve bunlara uymaya çalışıyorum. Ancak bununla daha zor zamanlar geçiriyorum: CA1031: Genel istisna türlerini yakalamayın Bu kuralın gerekçesini anlıyorum. Ancak uygulamada, atılan istisnadan bağımsız olarak aynı işlemi yapmak istersem, neden her birini özel olarak ele alacağım? Ayrıca, belirli istisnaları ele alırsam, aradığım kod gelecekte …
56 c#  design  exceptions 

9
İstisna at veya kodun başarısız olmasına izin ver
Bu stile karşı herhangi bir artıları ve eksileri olup olmadığını merak ediyorum: private void LoadMaterial(string name) { if (_Materials.ContainsKey(name)) { throw new ArgumentException("The material named " + name + " has already been loaded."); } _Materials.Add( name, Resources.Load(string.Format("Materials/{0}", name)) as Material ); } Bu yöntem, her biri için nameyalnızca bir …
52 exceptions 

3
İstisna spesifikasyonları neden kötü?
Yaklaşık 10 yıl önce okula geri döndüğünde, size istisna belirtecilerini kullanmayı öğretiyorlardı. Geçmişim onlardan biri olduğu için zorlamadıkça inatla C ++ 'dan kaçınan Torvaldish C programcıları olduğu için, sadece sporadik olarak sadece C ++' a giriyorum ve bunu yaptığımda hala istisna belirtecilerini kullanıyorum. Bununla birlikte, C ++ programcılarının çoğunluğu istisna …

6
Java tarafından kontrol edilen istisnalar için geçici çözüm
Java 8'in lambdalar ve varsayılan yöntemler arabirimleriyle ilgili özelliklerini çok takdir ediyorum. Yine de, kontrol edilen istisnalar dışında hala sıkıldım. Örneğin, bir nesnenin tüm görünür alanlarını listelemek istersem, şunu yazmak istiyorum: Arrays.asList(p.getClass().getFields()).forEach( f -> System.out.println(f.get(p)) ); Bununla birlikte, getyöntem, Consumerarayüz sözleşmesini kabul etmeyen, işaretli bir istisna atabildiğinden , bu istisnayı …

4
Python'daki yineleyiciler neden bir istisna yaratıyor?
İşte Java'da yineleyiciler için sözdizimi (C # ile benzer bir sözdizimi): Iterator it = sequence.iterator(); while (it.hasNext()) { System.out.println(it.next()); } Bu mantıklı. İşte Python'da eşdeğer sözdizimi: it = iter(sequence) while True: try: value = it.next() except StopIteration: break print(value) İstisnaların yalnızca istisnai durumlarda kullanılması gerektiğini düşündüm. Python neden yinelemeyi durdurmak …

4
Bir yöntem neden birden fazla işaretlenmiş istisna türü atmamalıdır?
Java kodumuzu analiz etmek için SonarQube kullanıyoruz ve bu kuralı var (kritik olarak ayarlanmış): Genel yöntemler en fazla bir tane işaretlenmiş istisna atmalıdır İşaretli istisnaları kullanmak, yöntemi arayanları, ya onları ya da bunları kullanarak ya hata yaparak başa çıkmaya zorlar. Bu, istisnaları tamamen yöntemin API'sinin bir parçası yapar. Arayanlar için …

8
İstisna işleme mekanizması olmadan neden modern bir dil tasarladım?
Birçok modern dil zengin istisna işleme özellikleri sağlar, ancak Apple'ın Swift programlama dili bir istisna işleme mekanizması sağlamaz . Benim gibi istisnalar dışında, aklımı bunun ne anlama geldiği etrafına sarmakta güçlük çekiyorum. Swift'in iddiaları ve elbette geri dönüş değerleri var; Ancak istisna temelli düşünme tarzımın istisnasız bir dünyaya nasıl eşleştiğini …



8
İstisna nesnelerini atmak yerine geri göndermenin meşru sebepleri var mı?
Bu soru, istisna işlemeyi destekleyen herhangi bir OO programlama diline uygulanmaya yöneliktir; C # yalnızca örnekleme amaçlı kullanıyorum. İstisnalar, genellikle, kodun hemen ele alınamayacağı bir sorun ortaya çıktığında ortaya çıkar ve daha sonra catchfarklı bir yerde (genellikle bir dış yığın çerçevesi) bir maddede yakalanır . S: İstisnaların atılmadığı ve yakalanmadığı, …

4
İstisna yayılımı: İstisnaları ne zaman yakalamalıyım?
MethodA, sırayla MethodC'yi çağıran bir MethodB'yi çağırır. MethodB veya MethodC'de işlem istisnası yoktur. Ancak MethodA'da istisna kullanımı var. MethodC'de bir istisna oluşur. Şimdi, bu istisna, uygun şekilde işleyen Yöntem A'ya yansıyor. Bundaki sorun ne? Aklımda, bir noktada arayan bir kişi MetotB veya MetotC'yi yürütecek ve bu metotlarda istisnalar meydana geldiğinde, …

11
Hata değişkenleri bir model mi yoksa iyi bir tasarım mı?
Yürütmeyi durdurmaması gereken olası birkaç hatayla başa çıkmak için error, istemcilerin istisnalar atmak için denetleyebileceği ve kullanabileceği bir değişkenim var. Bu bir Anti-Pattern mi? Bununla baş etmenin daha iyi bir yolu var mı? Bunun bir örneği olarak PHP'nin mysqli API'sini görebilirsiniz. Görünürlük sorunlarının (erişimciler, genel ve özel kapsam, bir sınıftaki …

4
Python Affetme - İzin ve Ördek Yazma
Python'da sık sık "izin istemek" yerine "af dilemenin" (istisna yakalama) daha iyi olduğunu duyuyorum (tip / durum kontrolü). Python'da ördek yazmaya zorlama açısından, bu try: x = foo.bar except AttributeError: pass else: do(x) daha iyi veya daha kötü if hasattr(foo, "bar"): do(foo.bar) else: pass performans, okunabilirlik, "pitonik" veya başka bir …

8
Aralığın dışında anlamlı bir değer olması durumunda bir istisna mı atmalıyım yoksa kendim halledeyim mi?
Enlem / boylam koordinatlarını temsil eden bir yapı yazdım. Değerleri longtitudes için -180-180, lattitudes için 90-90 arasındadır. Bu yapıdaki bir kullanıcı bana bu aralığın dışında bir değer verirse, 2 seçeneğim var: Bir istisna atma (aralık dışı arg) Değeri kısıtlamaya dönüştür -185'in bir koordinatı anlamlıdır (kutupsal koordinatlar olduğu için kolayca +175'e …

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.