Exceptions and Defensive Coding
Guard Clauses
Return early when input is too small to use.
Guard Clauses
GuardClauses.kt
fun displayName(name: String): String {
if (name.isBlank()) {
return "missing"
}
if (name.length < 3) {
return "short:$name"
}
return "name:$name"
}
fun main() {
val name =
val label = displayName(name)
println("name=${name.ifBlank { "blank" }}")
println("label=$label")
}
fun displayName(name: String): String {
if (name.isBlank()) {
return "missing"
}
if (name.length < 3) {
return "short:$name"
}
return "name:$name"
}
fun main() {
val name =
val label = displayName(name)
println("name=${name.ifBlank { "blank" }}")
println("label=$label")
}
fun displayName(name: String): String {
if (name.isBlank()) {
return "missing"
}
if (name.length < 3) {
return "short:$name"
}
return "name:$name"
}
fun main() {
val name =
val label = displayName(name)
println("name=${name.ifBlank { "blank" }}")
println("label=$label")
}
guard-clause
A guard clause handles an invalid or special case before the main work.