dkdud9261 / develop-log

BE 개발자의 현업 이슈 정리 🌟
3 stars 0 forks source link

[Project Reactor] doOnError vs onErrorResume #4

Open dkdud9261 opened 6 months ago

dkdud9261 commented 6 months ago

doOnError : 예외가 지나가는 곳

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 {}