Kotlin 예외(Exception) 처리

Notepad96

·

2020. 9. 21. 23:59

300x250

 

 

 


1. 예외(Exception)

예외(Exception)란 프로그램 실행 중 예기치 못한 에러가 발생하는 경우이다.

이러한 예외가 발생하면 보통은 에러 메시지를 보여주며 프로그램이 중단되거나 강제 종료된다.

 

따라서 예외 처리를 통하여 사용자 입장에서 어떠한 이유 때문에 어떠한 에러가 발생하였는지 안내하거나 프로그램이 강제 종료되는 것을 방지할 수 있다.

 

 

 

 


2. 예외(Exception) 처리

예외 처리는 try ~ catch ~ finally 로 처리할 수 있다.

 

    try {
        var s = "ab"
        //var s = "75"
        println(s.toInt())
    } catch(e: NumberFormatException) {
        println("error 발생 $e")
    } catch(e: Exception) {
        println("error 발생 $e")
    } finally {
        println("반드시 실행")
    }


try 문 안에서 에러가 발생하였을 경우 catch문이 실행되며 finally문은 에러가 발생하여도 하지 않아도 실행된다.

 

catch문은 여럿 존재할 수 있으며 순차적으로 비교하여 하나만 실행된다.

 

 

해당 코드에서는 숫자로 변경할 수 없는 "ab"를 Int로 변경하고자하여 예외가 발생하여 catch문이 실행된 후 finally문이 실행된다.

 

"75"일 경우는 에러가 발생하지 않으므로 catch문은 실행안되지만 finally문은 실행된다.

 

 

 

 


3. 예외 발생시키기 throw

예외는 시스템에 의하여 발생하지만 경우의 따라서는 고의로 발생시킬 수도 있다.

throw 예외 타입 

 

 

 

(직접 수정해보며 실행해볼 수 있다. 로드가 안된다면 새로고침 or play.kotlinlang.org/)

 

 

isNum 함수는 인자로 받은 문자열 내에 숫자가 아닌 문자열이 포함되어있다면 throw로 예외를 발생시켜 함수를 종료시킨다.

 

Exception("메시지")와 같이 에러 메시지를 포함하여 보내어 메시지를 출력할 수도 있다.

 

 

 

 


4. 참 조

 

 

Exceptions - Kotlin Programming Language

 

kotlinlang.org

 

300x250