아래의 글은 드미트리 제메로프, 스베트라나 이사코바 저/오현석역,『Kotlin in Action』,에이콘출판사(2017)의 내용을 기반으로 작성하였습니다.

1. 코틀린도 자바와 다르게 체크 예외와 언체크 예외를 구별하지 않는다.

2. 잡아내도 되고 안잡아도 되고

3. try 본문은 {} 블록으로 싸야한다.

 

// java style

fun readNumber(reader: BufferedReader): Int? {
	try {
    	val line = reader.readLine()
        return Integer.praseInt(line)
    }
    catch (e: NumberFormatException) {
    	return null
    }
    finally {
    	reader.close()
    }
}

// try를 식으로 사용

fun readNumber(reader: BufferedReader): Int? {
	val number = try {
    	Integer.parseInt(reader.readLine())
    } catch (e: NumerFormatException) {
    	return
    }
    println(number)
}


// try return 생략

fun readNumber(reader: BufferedReader): Int? {
	val number = try {
    	Integer.parseInt(reader.readLine())
    } catch (e: NumberFormatException) {
    	null
    }
    println(number)
    
val reader = BufferedReader(StringReader("42"))

readNumber(reader)

>>> 42
}




 

+ Recent posts