Kotlin:
에러 처리하기
사용 방법:
Kotlin은 오류를 관리하기 위해 try
, catch
, finally
, throw
를 제공합니다. 다음은 이들을 사용하는 방법입니다:
fun main() {
val numerator = 10
val denominator = 0
try {
val result = numerator / denominator
println("결과: $result")
} catch (e: ArithmeticException) {
println("0으로 나눌 수 없어, 친구.")
} finally {
println("이건 어떤 경우에도 일어납니다.")
}
}
출력 결과:
0으로 나눌 수 없어, 친구.
이건 어떤 경우에도 일어납니다.
try
블록 내에서 문제가 발생하면 실행은 catch
로 이동합니다. 이것은 발생된 특정 오류(ArithmeticException
이 이 경우)를 잡습니다. finally
블록은 그 후에 실행되며, 결과에 관계 없이 실행됩니다.
심층 분석
try-catch
블록은 초기 프로그래밍 시대부터 있던 것입니다. 마치 안전망과 같습니다. Kotlin은 수동으로 예외를 발생시키기 위한 throw
를 제공하며, 반드시 실행되어야 하는 코드에는 finally
를 사용합니다. 종종 이는 정리 작업을 의미합니다.
대안으로는 Result
타입과 Kotlin의 try
를 표현식으로 사용하는 방법이 있습니다.
val result: Result<Int> = try {
Result.success(numerator / denominator)
} catch (e: ArithmeticException) {
Result.failure(e)
}
이 접근 방식은 Result
객체를 반환합니다. 즉, 처리되지 않은 예외의 드라마 없이 성공 또는 실패를 얻을 수 있습니다.
Kotlin에서의 구현은 try
를 표현식처럼 사용할 수 있어 깔끔합니다. 이는 값을 반환한다는 의미입니다. 이러한 선택지들은 Kotlin에서 오류 처리를 상당히 다양하게 만들어줍니다. 워크숍에서 적절한 도구를 선택하는 것과 마찬가지로, 올바른 도구를 선택하는 것이 중요합니다.
참고자료
- Kotlin 문서의 예외 처리: Kotlin 예외 처리
- Kotlin의
Result
타입 문서: Kotlin Result - 조슈아 블록의 Effective Java, 3rd Edition - 비록 Java 특유의 내용이지만 예외에 대한 훌륭한 통찰을 제공합니다.