예외 처리 문제와 로그인 문제 사이의 차이는 교차 절단 문제라는 점을 많이 알지 못합니다. 어떻게 생각해? 메소드가 구현하는 핵심 로직에 인터리브되는 대신 자체적으로 별도로 처리해서는 안됩니까?
편집 : 내가 말하려는 것은 내 의견으로는 메소드 구현에 성공적인 실행 경로에 대한 논리 만 포함해야하며 예외는 다른 곳에서 처리해야한다는 것입니다. 이것은 확인되거나 확인되지 않은 예외에 관한 것이 아닙니다.
예를 들어, 언어는 다음과 같은 구문을 사용하여 완전히 검사 된 방식으로 예외를 처리 할 수 있습니다.
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
}
}
}
위의 개념 언어 에서 클래스 의 readFile이 예외를 발생시키지 않기 때문에 프로그램은 FileReader
handler없이 컴파일 되지 않습니다. 따라서 handler 를 선언하면 컴파일러가 처리되고 프로그램이 컴파일되는지 확인할 수 있습니다.FileReader
FileReader
이런 식으로 우리는 확인 및 확인되지 않은 예외 문제 (강건성 및 가독성)를 최대한 활용합니다.