[Kotlin] 5. 예외처리
2023. 3. 23. 23:57ㆍProgramming Languages/Kotlin
Kotlin은 체크(컴파일) 예외와 언체크(런타임) 예외를 구분하지 않는다. Java는 체크 예외를 처리하도록 강제한다. 하지만 대부분의 프로그래머들은 체크 예외를 작성만 할뿐 의미없이 던지는 경우가 많다. 따라서 Kotlin에서는 이를 구분하지 않도록 했다. 예외를 던지면 예외를 잡을 때까지 호출된 함수를 거슬러 올라가며 예외를 다시 던진다.
1. try, catch, finally
fun readNumber(br: BufferedReader): Int? {
try {
val line = br.readLine()
return Integer.parseInt(line)
} catch (e: NumberFormatException) {
throw NumberFormatException("Invalid number")
} finally {
br.close()
}
}
2. try를 식으로 사용
try도 if 나 when 과 같은 식이다. if 와의 차이점은 중괄호를 꼭 써야 한다는 점이다.
fun readNumber(br: BufferedReader) {
val number = try {
Integer.parseInt(br.readLine())
} catch (e: NumberFormatException) {
return
}
println(number)
}
'Programming Languages > Kotlin' 카테고리의 다른 글
[Kotlin] 7. 메소드를 다른 클래스에 추가: 확장 함수와 확장 프로퍼티 (0) | 2023.03.26 |
---|---|
[Kotlin] 6. 함수 정의와 호출 (0) | 2023.03.24 |
[Kotlin] 4. 대상을 이터레이션: while 과 for (0) | 2023.03.23 |
[Kotlin] 3. 선택 표현과 처리: enum과 when (0) | 2023.03.22 |
[Kotlin] 2. 클래스와 프로퍼티, 소스코드 구조 (0) | 2023.03.21 |