Programlamada istisnaları kullanabileceğim tipik durumlar [kapalı]


-2

Birisi lütfen bana basit gibi görünen bir konuda yardımcı olabilir mi, ama asla kafamı pek sıkmadım. İstisnalar! Bir istisna yazmayı biliyorum ama değişkenleri olan sayısız kod örneği var foove barbunların gerçekte gerçek yaşam senaryolarında nasıl kullanıldığını görmek için bana en ufak bir yardım etmiyor.

İnfaz sürecini durdurabilecek potansiyel var mı? Onları asla kullanmadığımı itiraf etmeliyim, onları nasıl kullanacağımı bilmiyorum. Eminim onlar da önemlidir. Sanırım bir şey kıracaksa, kırılmasına izin verdim, yine de ekrana bir hata atacağım ve yürütmeyi durduracağım. Böyle bir hatanın olmaması için bir istisna noktası ortaya çıkar ve hatayı yakalar ve çıktısını görüntülemek için bir mesaj iletir mi? O zaman bu sonraki sorularımı ödünç verir, kodumun hangi bölümlerinin kırılmayacağını nasıl bilebilirim? Her şeyi istisnalar kollarına mı sarmalıyım? Bunlar benim kodum boyunca ne kadar kapsamlı olmalıdır?

Kolaylıkla çözülebilecek gibi görünen bir şey için üzgünüm, kullanımlarını tam olarak anlamadım. Biri beni en azından doğru yöne işaret edebilirse, hangi kodun sarılacağına ilişkin gerçek örnekleri de takdir edersiniz. Teşekkürler


Süper Kullanıcıya Hoşgeldiniz! Genel programlama soruları bu sitede konu dışı . Stack Overflow'da daha fazla şansa sahip olabilirsiniz, ancak sorunuzun özellikleri çok geniş olabilir. Gönderinizin taşınmasını istiyorsanız, sorunuzu işaretleyin ve ne yapmak istediğinizi bir moderatöre anlatın.
Excellll 1

Yanıtlar:


0

Bir programın programcının yanlış olduğunu düşündüğü bir duruma girdiği, bu hatanın programını uyardığı ve belki de alternatif bir şekilde (yakalama) ya da sadece temizleme işlemini sürdürdüğü durumlar için istisnalar olduğunu düşünüyorum.

Basit ve her zaman çalışması gereken şeyler, küçük değerler içeren basit aritmetik, string işlemleri veya basit fonksiyon çağrıları gibi, özyinelemeli olmaları veya bazı dengesiz girdilere bağlı olmaları dışında asla başaramadım.

Genellikle program kullanıcı eylemlerine veya diğer G / Ç'lere (dosyalar, veritabanları, soketler) bağlı olduğunda genellikle try / catch kullanıyorum - değerleri çok yüksek doğrulukla tahmin edemediğim değişkenler (uzak servislere bağlıysa, belleği tüketebilir, veya zaman aşımı)

Henüz yapmadıysanız, istisnalar gerektiğinde hangi üreticilerin vakaları dikkate aldığını görmek için Java'yı programlamayı deneyin.

İşte bir örnek: € -> $ dönüşüm için geçerli para birimine ihtiyacım var

  • Önbellekteki veriler 5 dakikadan eski değil O zaman kullan. Değilse:
  • Bir web sitesinden en son faktörü almak için bir web servisini kullanmayı deneyin .
  • İstenen değer yanıt olarak bulunamazsa veya kapalıysa bir istisna atarım
  • içinde catch yapardım
    • Veritabanından / dosyasından son kaydedilen faktörü almaya çalış
    • db'den gelen veriler bir nedenden ötürü iade edilemiyorsa tekrar atarım
    • istisnayı yakalamak , veritabanına veritabanı sorununu yazdı (diskin dolu olması ve log yazılmaması durumunda belki başka bir denemede / yakalamada) ve
      • kodda olacak bazı sabit faktörleri kullanın (veya "üzgünüm, geçerli dönüşüm verilerini alamıyorum" yazın).

2
Ah, bunun programmers.stackexchange.com olduğunu sanıyordum : P
Spikolynn
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.