코틀린에서 try 문을 사용하여 예외를 처리할 때, try, catch, finally 블록을 사용합니다. 이를 통해 예외가 발생할 수 있는 코드를 try 블록에 넣고, 예외 발생 시 처리할 코드를 catch 블록에 작성하며, 항상 실행되어야 하는 코드는 finally 블록에 작성할 수 있습니다.
try {
// 예외가 발생할 수 있는 코드
} catch (e: SomeException) {
// 예외 처리 코드
} finally {
// 항상 실행되는 코드
}
여기서 SomeException은 발생할 수 있는 특정 예외의 타입입니다. 이제 각 블록에 대해 자세히 알아보겠습니다.
1. try 블록
try 블록에는 예외가 발생할 수 있는 코드를 작성합니다. 이 블록 내에서 예외가 발생하면 해당 블록은 즉시 종료되고, 프로그램의 흐름이 catch 블록으로 이동합니다.
try {
// 예외가 발생할 수 있는 코드
} catch (e: SomeException) {
// ...
} finally {
// ...
}
2. catch 블록
catch 블록은 예외가 발생했을 때 처리할 코드를 정의합니다. 여러 개의 catch 블록을 사용하여 서로 다른 예외 타입에 대한 처리를 다르게 할 수 있습니다. catch 블록은 선택적으로 사용될 수 있으며, 필요에 따라 여러 개의 catch 블록을 사용할 수 있습니다.
try {
// 예외가 발생할 수 있는 코드
} catch (e: IOException) {
// IOException 처리
} catch (e: IllegalArgumentException) {
// IllegalArgumentException 처리
} finally {
// ...
}
3. finally 블록
finally 블록은 예외 발생 여부와 관계없이 항상 실행되는 코드를 정의합니다. 주로 리소스의 해제나 정리 작업 등을 수행할 때 활용됩니다.
try {
// 예외가 발생할 수 있는 코드
} catch (e: SomeException) {
// ...
} finally {
// 항상 실행되는 코드
}
finally 블록은 생략될 수 있습니다. 그러나 생략된 경우에도 try 블록 내에서 예외가 발생하면 catch 블록이 있는지 여부와 관계없이 finally 블록이 실행됩니다.
4. try 표현식
코틀린에서는 try 표현식을 사용하여 try 블록의 결과를 변수에 할당할 수 있습니다. 이를 통해 예외가 발생하더라도 결과를 처리할 수 있습니다.
val result = try {
// 예외가 발생할 수 있는 코드
} catch (e: SomeException) {
// 예외 처리 코드
defaultValue
} finally {
// 항상 실행되는 코드
}
위의 코드에서 try 블록의 결과를 result 변수에 할당하고, catch 블록에서 예외가 발생한 경우에는 특정한 값을 반환하도록 처리하고 있습니다. 이렇게 하면 예외 처리와 결과 처리를 한 번에 수행할 수 있습니다.
With ChatGPT
'Kotlin > 포스팅' 카테고리의 다른 글
코틀린 클래스 내부 구조 (0) | 2023.12.25 |
---|---|
코틀린 클래스 정의 (0) | 2023.12.25 |
코틀린 예외 던지기 (0) | 2023.12.25 |
코틀린 예외 처리 (0) | 2023.12.25 |
코틀린 꼬리 재귀 함수 (0) | 2023.12.25 |