No veo mucha diferencia entre las preocupaciones del manejo de excepciones y el inicio de sesión en que ambas son preocupaciones transversales. ¿Qué piensas? ¿No debería manejarse por separado por sí mismo en lugar de entrelazarse con la lógica central que está implementando un método?
EDITAR : Lo que estoy tratando de decir es que, en mi opinión, la implementación de un método solo debe contener la lógica para el camino exitoso de la ejecución y las excepciones deben manejarse en otro lugar. No se trata de excepciones marcadas / no marcadas.
Por ejemplo, un lenguaje podría manejar excepciones de una manera totalmente verificada mediante el uso de construcciones como esta:
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
}
}
}
En el lenguaje conceptual anterior, el programa no se compilará en ausencia del FileReader
controlador , porque el archivo readFile de la FileReader
clase no arroja la excepción. Entonces, al declarar el FileReader
controlador , el compilador puede asegurarse de que se esté manejando y el programa compila.
De esta forma, tenemos lo mejor de los problemas de excepción comprobados y no comprobados: robustez y legibilidad.
fuente