«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.

8
İstisnalar: Neden erken atıyorsun? Neden geç satarsın?
Yalıtımda istisnaların ele alınmasıyla ilgili en iyi bilinen birçok uygulama vardır. "Yap ve Yapılmayacaklar" ı yeterince iyi biliyorum, ancak daha büyük ortamlarda en iyi uygulamalar veya kalıplara gelince işler karmaşıklaşıyor. "Erken at, geç yakala" - defalarca duydum ve hala kafam karıştı. Düşük seviyeli bir katmanda boş bir işaretçi istisnası atılırsa …




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ı …

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
Denemek için neden parantez gerekli?
Çeşitli dillerde (en azından Java, aynı zamanda C #? Düşün) gibi şeyler yapabilirsiniz if( condition ) singleStatement; while( condition ) singleStatement; for( var; condition; increment ) singleStatement; Dolayısıyla, yalnızca bir ifadem olduğunda, yeni bir kapsam eklemem gerekmez { }. Neden bunu try-catch ile yapamıyorum? try singleStatement; catch(Exception e) singleStatement; Her …

5
Hiç atılamayan kontrol edilen istisnalar ile nasıl baş edilir
Örnek: foobar = new InputStreamReader(p.getInputStream(), "ISO-8859-1"); Kodlama sabit kodlanmış ve doğru olduğundan, yapıcı, şartnamede belirtilen UnsupportedEncodingException öğesini hiçbir zaman atmayacaktır (java uygulaması bozulmadığı sürece, bu durumda yine de kayboldum). Her neyse, Java beni zaten bu istisna ile uğraşmaya zorluyor. Şu anda, öyle görünüyor try { foobar = new InputStreamReader(p.getInputStream(), "ISO-8859-1"); …


4
Sonunda bir istisna atmak
Fortify gibi statik kod analizörleri bir finallybloğun içine bir istisna atılabileceğini söyleyerek "şikayet" eder Using a throw statement inside a finally block breaks the logical progression through the try-catch-finally. Normalde buna katılıyorum. Ancak son zamanlarda bu koda rastladım: SomeFileWriter writer = null; try { //init the writer //write into the …

12
Bir 'dene… yakala… nihayet' yapısının 'nihayet' kısmı gerekli midir?
Bazı diller (örneğin, C ++ ve PHP'nin ilk sürümleri) yapının bir finallybölümünü desteklemez try ... catch ... finally. Mı finallygerekli hiç? İçindeki kod her zaman çalıştığından, neden bu kodu try ... catchbir finallycümleciği olmayan bir bloktan sonra yerleştiremem / etmemeliyim ? Neden bir tane kullanmalı? (Kullanmak / kullanmamak için bir …

3
Servis katmanı tüm özel istisnaları yakalamalı ve servis istisnası olarak sarmalı mı?
Üç katmanlı Spring web uygulamasına sahibim: dao, servis ve kontrolörler. Bir denetleyici hiçbir zaman doğrudan dao'yu çağırmaz, hizmet katmanı üzerinden yapar. Şu anda, çoğunlukla işlenmeyen bir dao istisnası (çalışma zamanı) varsa, son kullanıcıya bir hata mesajı gösteren bir JSP tarafından yakalanır. Servis katmanı tüm özel istisnaları yakalayıp bunları servis istisnaları …

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.