2.5 try, catch, finally - ericbykim/kotlin-in-action GitHub Wiki

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

val reader = BufferedReader(StringReader("not a number"))
readNum(reader) // 아무것도 좜λ ₯λ˜μ§€ μ•ŠλŠ”λ‹€.
fun readNum(reader: BufferedReader) {
	val number = try {
		Integer.parseInt(reader.readLine())
	} catch (e: NumberFormatException) {
		null
	}
	println(number)
}

val reader = BufferedReader(StringReader("not a number"))
readNum(reader) // null 좜λ ₯