inflearn logo
강의

Course

Instructor

Kevin's Easy-to-Understand Spring Reactive Web Applications: Reactor Part 2

onErrorReturn, onErrorResume

onErrorResume을 사용하지 않는 모든 경우 예외 발생 시, 시퀀스는 종료되나요?

247

azsxd34

3 asked

0

안녕하세요.

onErrorResume을 사용하지 않는 모든 케이스에서는 시퀀스가 중단되는 것인지 궁금합니다.

또는 다른 핸들링 방법이 있을까요? 검색해볼만한 키워드를 잘 모르겠어 여쭤봅니다.

항상 감사합니다!

java spring project-reactor

Answer 2

0

Kevin

안녕하세요. 주말이라서 답변이 좀 늦었네요.

onErrorResume 같은 에러 처리를 위한 Operator를 사용하지 않으면 기본적으로 Sequence 내에서 에러가 발생하면 Subscriber에게 onError Signal 형태로 에러 정보가 Exception 형태로 전달됩니다.

 

다만, onErrorResume을 사용하지는 않지만 특정 상황에서 onErrorContinue Operator를 사용하거나 retry Operator를 사용하면 에러 발생 시점에 Sequence가 즉시 중단되지 않을 수는 있습니다.

방금 말씀 드린 내용은 error handling 섹션에 있는 영상으로 확인하실 수 있습니다.

 

AI 인턴이 답변 남겨두었듯이 doOnError 같은 Operator를 이용하면 에러를 직접적으로 핸들링하는건 아니지만 에러가 발생했을 때, 로그를 남긴다든지 하는 후속 작업을 통해 에러를 간접적으로 알려서 추후에 디버깅을 할 수 있습니다.

 

디버깅 관련해서는 1부 영상을 확인하시면 될 것 같습니다.

감사합니다.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. azsxd34님.

RxJava나 Reactor 같은 리액티브 프로그래밍에서는 기본적으로 에러가 발생하면 시퀀스가 종료됩니다. onErrorResume이나 그 유사한 방법으로 별도로 에러를 처리하지 않으면, 에러 발생 시 스트림이 중단될 수 있습니다.

에러 핸들링 방법:
1. onErrorResume: 에러가 발생했을 때 대체 시퀀스를 제공하여 스트림을 이어나갈 수 있습니다.
2. onErrorReturn: 에러 발생 시 기본값을 반환하여 스트림을 종료할 수 있습니다.
3. doOnError: 에러 발생 시 로그를 기록하거나, 다른 처리를 실행할 수 있습니다.
4. onErrorContinue: 특정 에러를 무시하고, 다음 데이터 처리로 계속 진행할 수 있습니다. 이는 주의해서 사용해야 하며, 모든 에러가 무시되므로 데이터의 정합성을 해칠 수 있습니다.

위의 방법들을 사용하여 에러를 처리하지 않으면, 일반적으로 에러가 발생하면 해당 스트림은 종료됩니다.

더 자세한 설명과 예제는 강의 자료나 공식 문서를 참고하시면 좋습니다. 다음 자료들을 참고해보세요:

더 궁금한 점이나 추가적인 질문이 있으시면 언제든지 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

동일성 동등성

0

8

1

안녕하세요 치킨 디도스 이벤트 보고 흉내내보려 들어왔습니다..

0

12

1

47번 리턴 관련 질문

0

19

1

실무 내용 문의드려요

0

24

2

IO활용-회원관리예제1 샘플코드 문의

0

19

1

join에대해 질문드립니다.

0

19

1

pg사가 있다고 가정하면

0

25

1

중급 1편 학습 방향에 대해 조언 부탁드립니다

0

32

1

To-Do App

0

27

1

강의노트 접속 불가

0

28

2

Kafka Cluster 구성도 질문

0

23

1

SingletonService가 JVM이 뜰 때 생성되는게 맞나요?

0

33

2

26년 1회차 기출 강의

0

54

2

임포트 오류

0

34

2

기출문제

0

55

1

정보처리기사 실기 zip

0

44

2

답을언제쯤받아볼수있나요

0

49

2

데이터베이스 노션

0

38

2

형 책 어떻게 받아?

1

59

1

PPT 자료 공유 받을 수 있을까요?

0

32

1

@JsonIgnore 이후 Internal Server Error가 발생하지 않습니다.

0

33

2

window 예제 1번 request(n) * maxSize 부분을 잘 모르겠습니다.

0

64

2

filterWhen의 차이

1

358

1

혹시 다음강의부터는 ppt 한번에 묶어서 올려주실수있나요?

0

362

1