[Kotlin] try-catch

이수진·2024년 5월 3일

코틀린에서 try-catch는 식(expression)이다. 따라서 변수에 담을 수 있다!

자바에서 try-catch는 문(statement)이었기 때문에 예외 처리시 보통 다음과 같이 작성했다.

var input:Int? //foo함수를 사용하기 위해서 try-catch 밖에 변수를 선언해주어야 한다.

try {
	input = readln().toInt()
} catch (e:Exception) {
    input = null
}

foo(input) 

하지만 코틀린에서는 변수에 할당할 수 있기 때문에 다음과 같이 변수에 바로 대입하여 사용할 수 있다.

val input = try {      
	readln().toInt()	//성공시 대입
} catch (e:Exception) {
    null 				//실패시 대입
}

foo(input)
  • 예외 발생 x : try 블록 마지막 줄의 값 대입
  • 예외 발생 O : catch 블록 마지막 줄의 값 대입

0개의 댓글