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