İstisna işleme ve oturum açma kaygıları arasında, her ikisinin de birbiriyle kesişen endişeler olduğunu fark etmiyorum. Ne düşünüyorsun? Bir yöntemin uyguladığı çekirdek mantık ile serpiştirilmekten ziyade ayrı ayrı ele alınmamalı mı?
EDIT : Söylemeye çalışıyorum, bence bir yöntem uygulaması sadece başarılı yürütme yolu için mantık içermeli ve istisnalar başka bir yerde ele alınmasıdır. Bu, işaretli / işaretsiz istisnalar ile ilgili değildir.
Örneğin, bir dil, aşağıdaki gibi yapıları kullanarak istisnaları tam olarak denetlenmiş bir şekilde işleyebilir:
class FileReader {
public String readFile(String path) {
// implement the reading logic, avoid exception handling
}
}
handler FileReader {
handle String readFile(String path) {
when (IOException joe) {
// somehow access the FileInputStram and close it
}
}
}
Yukarıdaki kavramsal dilde, FileReader işleyicinin yokluğunda program derlenmez , çünkü FileReader sınıfın readFile öğesi istisnayı atmaz. Böylece derleyici FileReader işleyiciyi bildirerek işlenmesini ve programın derlenmesini sağlayabilir.
Bu şekilde hem kontrol edilmiş hem de kontrol edilmemiş istisna problemlerinden en iyisine sahibiz: sağlamlık ve okunabilirlik.