Kotlin/포스팅

코틀린 try 문으로 예외 처리

짜집퍼박사(짜박) 2023. 12. 25. 14:09

코틀린에서 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