본문 바로가기

Back/Java

예외 처리 시, try - catch - if 대신 optional 사용해보기

MVC 패턴에서 BIZ 파트를 작성하다보면 try - catch - if 문을 많이 사용하게 된다.

DB에서 받아온 NULL 값을 처리하기 위해서 try - catch 이후 if (abc == null || abc == "") 같은 구문을 사용하는 것이다.

이것을 Optional로 처리하면 어떨까?

 

try {
    data = dao.selectSomething();
    Optional<SomeType> opt = Optional.ofNullable(data)
                             .orElseThrow(() -> CompanyException(CompanyConstans.ALL, new Object["itHing"]));
} catch (Exception e) {
	throw new CompanyException(CompanyConstans.ERROR);
}

 

조금 더 깔끔해 보인다. 하지만 저 dao에서 값을 가져오는 로직도 안에 넣어도 문제가 없을까?

좀 더 다듬어보자.