티스토리 뷰
개요
값이 없다면 에러가 나게 코드를 짜는 패턴은 흔하게 등장합니다. 에러를 나게 할 때마다 if조건을 넣어서 특정 조건일때 혹은 아닐때 에러가 나게 한다면 에러처리가 귀찮고 잘 안하게 됩니다.
하지만 orElseThrow()를 쓴다면 이 작업이 조금 편해져서 에러에 대해 생각할 시간과 인내심을 확보 할 수 있습니다.
아래 orElseThrow()를 쓰는 경우와 안쓰는 경우를 비교해보시기 바랍니다.
orElseThrow()쓰는 경우
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.Stack;
public class StTest {
public static String get() throws Exception {
Optional<String> opt = Optional.of("hello");
return opt.orElseThrow(() -> new Exception("ohlcv result set null"));
}
public static void main(String[] args) throws Exception {
String hello = get();
System.out.println(hello);
}
}
아래 한줄이 핵심 입니다.
return opt.orElseThrow(() -> new Exception("ohlcv result set null"));
물론 여기에서는 Optional의 사용법을 알긴 해야 합니다만 Java8부터는 Optional을 권장 하고 있기도 하고 점점 쓰는 추세라서 익혀놓으면 좋겠지요.
orElseThrow()안쓰는 경우
orElseThrow()를 안쓰면 아래와 같이 if else등을 써서 error를 내주어야 합니다.
public class OptElse {
public static String get(String param) throws Exception {
if ("".equals(param)){
throw new Exception("no hello.");
}else{
return param + "!";
}
}
public static void main(String[] args) throws Exception {
String hello = get("hello");
System.out.println(hello);
}
}
end.
728x90
'Spring > Spring Boot(스프링 부트)' 카테고리의 다른 글
jpa app 운영 배포 전략 (0) | 2019.03.13 |
---|---|
WebFlux test get, get with param, post, post with param (0) | 2019.01.18 |
[SpringBoot caching] Caffeine 캐시 (0) | 2019.01.09 |
jpa에서 복수키 만들기(key 2개), 복수키를 사용할 경우 길이 문제 (0) | 2019.01.08 |
jpa 강좌 주제 (0) | 2019.01.08 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- shellscript
- docker container whale
- Linux
- 2017 티스토리 결산
- docker container case
- docker container tissue
- Sh
- docker container
- 이직
- vim
- 도커각티슈박스
- 도커컨테이너
- 도커티슈박스
- 도커티슈케이스
- 개발자
- docker container tissue box
- 도커각티슈케이스
- 싱가폴
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함