별거는 아닌데 코드를 짜다가 List<>의 특정인덱스의 아이템을 삭제해야할 일이 생겻습니다..
해당코드입니다.
routineDetailModels는 List<> 입니다.
보시다시피 이 리스트의 인덱스 위치에 있는 아이템을 삭제해주기전에 안전하게 null을 검사하고 없는 인덱스를 삭제하는것은 아닌지 검사를 해주는데요..
이렇게하는거랑 그냥
이 코드만 남기고 throws로 예외 넘겨서 호출해준곳에서 예외처리로 그냥 메시지 하나 던져주는거랑 어떤 방법이 더 낫나요?
참고로 지금 해당메소드는 boolean을 리턴해주는데 사실 호출하는곳에서 리턴값으로 저걸 받아도 쓸일이없어서 void로 바꾸려고하거든요..
void로 바꾸려고하니 저 if문의 조건을 null이 아니고 index가 size보다 작고 index가 0보다 크고로 바꿔도
만약에 else일 상황이 나올시에 거기에 해당하는 코드를 작성하기 애매해서..
어떻게 해야 더 좋을지 궁금해서 여쭤봅니다.
계약에 의한 설계에 따른다면 올바른 index를 넘겨주는건 온전히 클라이언트의 책임입니다. 그러므로 메서드 파라미터에 위반된 값이 들어온 경우 예외를 발생시키는 것이 이상적입니다
아니면 예외처리 따로 안하고 optional.ofNullable로 emptylist를 넘겨도 될듯?