코틀린의 예외처리

고성욱·2023년 3월 18일
0

안드로이드

목록 보기
9/26

코틀린은 자바와 달리 checked exception을 제공하지 않습니다. 대신, 모든 예외는 unchecked exception입니다.

코틀린에서 예외를 처리하는 가장 기본적인 방법은 try-catch문입니다. try 블록 안에서 예외가 발생하면, catch 블록 안에서 해당 예외를 처리할 수 있습니다.

try {
    // 예외를 발생시키는 코드
} catch (e: Exception) {
    // 예외 처리 코드
}

코틀린에서는, try-catch문에서 finally 블록을 사용할 수도 있습니다. finally 블록은 예외 발생 여부와 상관없이 항상 실행됩니다.

try {
    // 예외를 발생시키는 코드
} catch (e: Exception) {
    // 예외 처리 코드
} finally {
    // 항상 실행되는 코드
}

또한, 코틀린에서는 try-with-resources 구문을 사용할 수 있습니다. 이 구문은 자동으로 자원을 해제해주는 기능을 제공합니다.

val stream = Files.newInputStream(Paths.get("/path/to/file"))
stream.use {
    // stream을 사용하는 코드
}

마지막으로, 코틀린에서는 throw 키워드를 사용하여 예외를 직접 발생시킬 수 있습니다.

throw Exception("예외 발생!")

자바에서는 checked exception과 unchecked exception 두 가지 유형의 예외가 있습니다. checked exception은 메소드의 시그니처에서 처리되거나 선언되어야 합니다. 이는 호출하는 메소드가 예외를 처리하거나 던질 수 있다는 것을 의미합니다. 이로 인해 개발자는 예외 처리를 강제하며 코드의 안정성을 높이는 대신 복잡성이 증가합니다. 반면 unchecked exception은 처리되거나 선언될 필요가 없으며 언제든지 던질 수 있습니다.

반면 코틀린에서는 모든 예외를 unchecked exception으로 처리합니다. 따라서 개발자는 예외를 처리하거나 선언할 필요가 없으며 필요에 따라 선택할 수 있습니다. 이는 코드를 단순화하고 간결하게 만들어 줍니다. 하지만, 예외 처리를 강제하지 않아 코드의 안정성이 떨어질 수 있습니다.

코틀린은 try-catch-finally 블록 및 try-with-resources 구문과 같은 예외 처리를 더욱 간결하게 만드는 언어 기능을 제공합니다. 이러한 구조를 사용하면 개발자는 예외를 처리하고 자원을 깔끔하고 간결하게 해제할 수 있습니다. 또한, 코틀린은 throw 키워드를 사용하여 명시적으로 예외를 던질 수 있습니다.

종합적으로, 코틀린에서의 예외 처리 방식은 자바보다 더 간결하고 단순합니다. 그러나 개발자는 코드의 안정성에 대해 더욱 경계해야 합니다.

profile
안드로이드, 파이썬 개발자

0개의 댓글