728x90
반응형
이번 글에서는 try-catch와 ExceptionHandler를 비교해보려고 한다.
얼핏 보기에는 둘 다 예외 처리의 기법으로만 보고 넘어갈 수도 있지만,
각각 사용해야하는 상황이 다르기 때문이다.
try-catch 관점
try-catch는 예외가 발생하고나서도 계속 작업이 필요한 경우에 사용된다.
예를 들면, 코루틴 내부에서 재시도하는 로직이 필요한 경우이다.
try-catch 구문을 사용해 예외를 잡아내고 해당 예외를 다시 전파시키지 않는다면
예외는 상위 계층으로 전파되지 않는다.
(부모 코루틴에게 전파되지 않는다)
예외가 발생했음에도 상위 계층으로 예외가 전파되지 않는다면
Structured Concurrency를 해칠 수 있다.
ExceptionHandler 관점
try-catch와는 달리 계속해서 작업이 필요없는 경우에 사용할 수 있다.
ExceptionHandler에 의해 처리된다는 것은 이미 해당 코루틴이
예외가 발생했고 종료되었다는 의미이기 때문이다.
그래서 보통 에러 메시지를 출력하거나 앱을 종료 및 재시작하는 용도로 사용한다.
728x90
반응형
'Study > Kotlin' 카테고리의 다른 글
launch vs async in Coroutines Exception Handling (1) | 2025.08.16 |
---|---|
Exception Handling Using ExceptionHandler in Coroutines (0) | 2025.05.30 |
Exception Handling Using try-catch Clause in Coroutines (0) | 2025.05.06 |
NonCancellable Coroutines 사용해보기 (0) | 2025.04.07 |
Coroutines Cooperative Cancellation (0) | 2025.04.06 |