Kotlin/포스팅

코틀린 예외 던지기

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

코틀린에서는 함수나 블록 내에서 예외를 던질 때 throw 키워드를 사용합니다. 예외를 던지면 프로그램의 실행 흐름이 즉시 해당 예외를 처리할 수 있는 곳으로 전환됩니다. 이때 던진 예외를 처리하지 않으면 예외가 상위 호출 스택으로 전파됩니다.

 

1. 기본적인 예외 던지기

fun divide(a: Int, b: Int): Int {
    if (b == 0) {
        throw ArithmeticException("Cannot divide by zero")
    }
    return a / b
}

위의 코드에서는 divide 함수가 두 정수를 나누는데, 만약 두 번째 인자 b가 0이라면 ArithmeticException을 던집니다.

 

2. 사용자 정의 예외 던지기

class CustomException(message: String) : Exception(message)

fun processInput(input: String) {
    if (input.isEmpty()) {
        throw CustomException("Input should not be empty")
    }
    // 입력을 처리하는 코드...
}

위의 코드에서는 CustomException이라는 사용자 정의 예외를 정의하고, processInput 함수에서 입력이 비어있으면 해당 예외를 던집니다.

 

3. 예외 던질 때 예외 타입 지정

fun processInput(input: String) {
    if (input.isEmpty()) {
        throw IllegalArgumentException("Input should not be empty")
    }
    // 입력을 처리하는 코드...
}

예외를 던질 때 적절한 예외 타입을 지정하여 던질 수 있습니다. 여기서는 IllegalArgumentException을 사용하였습니다.

 

4. 예외 던질 때 예외 메시지 지정

fun processInput(input: String) {
    if (input.isEmpty()) {
        throw IllegalArgumentException("Input should not be empty")
    }
    // 입력을 처리하는 코드...
}

throw 키워드 뒤에 예외 객체를 생성하면서 생성자에 예외 메시지를 전달하여 예외의 세부 정보를 설정할 수 있습니다.

 

5. 코틀린의 예외 처리 구문에서 예외 던지기

코틀린에서는 예외를 던지는 구문을 식(expression)으로 사용할 수 있습니다. 이렇게 하면 함수의 반환 타입으로 예외를 처리하는 것이 가능합니다.

fun divide(a: Int, b: Int): Int {
    return try {
        a / b
    } catch (e: ArithmeticException) {
        throw IllegalArgumentException("Cannot divide by zero", e)
    }
}

위의 코드에서 try 블록 내에서 계산을 시도하고, 만약 ArithmeticException이 발생하면 IllegalArgumentException으로 감싸서 예외를 던집니다.

예외를 던지는 것은 예외가 발생한 상황을 나타내는 중요한 신호입니다. 따라서 적절한 예외 타입과 메시지를 사용하여 코드를 작성하면 예외가 발생했을 때 디버깅 및 유지 보수가 더욱 쉬워집니다.

 

With ChatGPT

'Kotlin > 포스팅' 카테고리의 다른 글

코틀린 클래스 정의  (0) 2023.12.25
코틀린 try 문으로 예외 처리  (0) 2023.12.25
코틀린 예외 처리  (0) 2023.12.25
코틀린 꼬리 재귀 함수  (0) 2023.12.25
코틀린 반복문 내포된 루프와 레이블  (0) 2023.12.25