Kotlin runCatching 완벽 정리: 예외 처리도 간결하게!
Kotlin에서 예외 처리 시 try-catch를 깔끔하게 대체할 수 있는 runCatching 문법을 쉽고 실용적으로 정리합니다.
실무 활용 예시도 함께 확인해보세요.
블로그 글 목차
- Kotlin에서 예외 처리는 왜 고민일까?
- runCatching이란 무엇인가요?
- 기본 문법과 사용 예제
- onSuccess와 onFailure 활용 방법
- getOrNull, getOrElse, getOrDefault 차이점
- runCatching 실무 활용 팁
- 간결한 코드의 힘
Kotlin에서 예외 처리는 왜 고민일까?
개발을 하다 보면 가장 빈번하게 마주치는 코드 중 하나가 try-catch입니다. 하지만 try-catch는 종종 코드의 가독성을 떨어뜨리고, 로직을 흐트러뜨릴 수 있죠.
그런 고민을 해결해주는 Kotlin의 스마트한 기능, 바로 runCatching입니다.
runCatching이란 무엇인가요?
runCatching은 Kotlin 표준 라이브러리에 포함된 고차 함수로, 코드 블록에서 발생할 수 있는 예외를 깔끔하게 처리할 수 있도록 도와줍니다. 내부적으로 try-catch를 래핑(wrapping)하는 형태로 작동하며, 결과는 Result<T> 타입으로 반환됩니다.
val result = runCatching {
someFunctionThatMayThrow()
}
기본 문법과 사용 예제
val result = runCatching {
"123".toInt()
}
println(result) // Success(123)
예외가 발생하면 자동으로 Failure(Exception) 객체로 감싸주며, 발생하지 않으면 Success(value)로 반환합니다.
onSuccess와 onFailure 활용 방법
예외 여부에 따라 각각의 후속 처리도 onSuccess, onFailure로 체계적으로 할 수 있습니다.
runCatching {
"abc".toInt()
}.onSuccess {
println("변환 성공: $it")
}.onFailure {
println("예외 발생: ${it.message}")
}
if-else보다 훨씬 직관적이고 선언적이죠!
getOrNull, getOrElse, getOrDefault 차이점
- getOrNull(): 성공 시 값, 실패 시 null
- getOrElse {}: 실패 시 지정된 기본 값 반환
- getOrDefault(value): 실패 시 지정된 고정 값 반환
val value = runCatching { "abc".toInt() }.getOrElse { -1 }
println(value) // -1
runCatching 실무 활용 팁
- API 응답 파싱 시 에러 처리
- 로그 기록 및 사용자 메시지 분리
- CoroutineScope와 함께 비동기 예외 처리도 깔끔하게 사용 가능
runCatching {
fetchDataFromServer()
}.onFailure {
log.error("API 에러", it)
}
간결한 코드의 힘
Kotlin의 runCatching은 단순한 문법 이상의 가치를 제공합니다. 가독성, 유지보수성, 안정성까지 챙길 수 있는 훌륭한 도구죠.
예외 처리를 한층 더 세련되게 만들고 싶은 분이라면, 지금 바로 프로젝트에 적용해보세요!
'개발&프로그래밍' 카테고리의 다른 글
[Kotlin] Kotlin mapNotNull 완전 정복 | 리스트 변환부터 실무 활용까지 (2) | 2025.06.18 |
---|---|
[Kotlin] runCatching + 코루틴 완벽 활용법! 예외 처리까지 깔끔하게 (1) | 2025.06.17 |
IntelliJ IDEA 2025.1 출시! 개발자 생산성을 높이는 주요 기능 총정리 (1) | 2025.04.23 |
[N8N] n8n이란? 오픈소스 업무 자동화 툴 (1) | 2025.04.15 |
[MCP] MCP(Model Context Protocol)란? (0) | 2025.04.07 |
댓글