Exceptions and Defensive Coding
Safe Parsing
Avoid an exception by using a nullable parsing result.
Safe Parsing
SafeParsing.kt
fun main() {
val raw =
val parsed = raw.toIntOrNull()
val value = parsed ?: -1
val status = if (parsed == null) {
"fallback"
} else {
"parsed"
}
println("raw=$raw")
println("value=$value")
println("status=$status")
}
fun main() {
val raw =
val parsed = raw.toIntOrNull()
val value = parsed ?: -1
val status = if (parsed == null) {
"fallback"
} else {
"parsed"
}
println("raw=$raw")
println("value=$value")
println("status=$status")
}
fun main() {
val raw =
val parsed = raw.toIntOrNull()
val value = parsed ?: -1
val status = if (parsed == null) {
"fallback"
} else {
"parsed"
}
println("raw=$raw")
println("value=$value")
println("status=$status")
}
safe-parse
`toIntOrNull` returns `null` instead of throwing when a string is not a number.