1.5 조건문에서 NullPointerException 피하기

    class Logbook {
    
        void writeMessage(String message, Path location) throws IOException {
            if (Files.isDirectory(location)) {
                throw new IllegalArgumentException("The path is invalid!");
            }
            if (message.trim().equals("") || message == null) {
                throw new IllegalArgumentException("The message is invalid!");
            }
            String entry = LocalDate.now() + ": " + message;
            Files.write(location, Collections.singletonList(entry),
                StandardCharsets.UTF_8, StandardOpenOption.CREATE,
                StandardOpenOption.APPEND);
        }
    }

    일반적으로 자바 초보자가 처음 접하는 예외가 NullPointerException입니다. NullPointerExceptionnull을 참조하는 메서드를 호출하거나 속성에 접근할 때 발생합니다. 이러한 문제를 막으려면 메서드 인수가 유효한지 검사해야 합니다. 단, 순서를 올바르게 지켜야죠!

    위 코드의 Logbook은 파일에 메시지를 기록합니다. location 인수로 명시한 파일 시스템 내 특정 파일에 로그 메시지를 정리하죠. 메시지가 올바른지 확인해야 하니 매개변수 검증을 수행해야 합니다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.