-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Description
doOnError : 예외가 지나가는 곳
- 예외가 발생했을 때 어떤 동작을 수행하는 데 사용된다.
- 예외를 소비하거나 처리하는 용도로 사용되며, 예외를 처리한 후에도 스트림은 종료되지 않고 계속 진행된다.
- 예외는 그대로 던져져 있는 상태라는 것. catch 된게 아님
- 주로 로깅이나 메트릭 수집과 같은 부가적인 작업을 수행하기 위해 사용된다.
Mono.error<String>(RuntimeException("예외 발생"))
.doOnError { throwable ->
println()
}
.subscribe(
{ value -> println(value) },
{ error -> println(error) }
)onErrorResume : 예외 처리 끝
- 예외가 발생했을 때 대체 스트림이나 값을 제공하여 계속 진행하는 데 사용한다.
- 예외를 캐치하고 대체 스트림이나 값을 발생시켜 계속 진행된다.
- 주로 예외를 특정한 값으로 대체하거나 다른 스트림으로 전환하는 데 사용된다.
Mono.error<String>(RuntimeException("예외 발생"))
.onErrorResume { throwable ->
println()
Mono.just("hello")
}
.subscribe(
{ value -> println(value) },
{ error -> println(error) }
)+) 아래처럼 하면 에러 발생 시 둘 다에 들어감 / 순서 반대로하면 onErrorResume에만 들어감 그기서 끝나니까
.doOnError {}
.onErrorResume {}