Exceptions and Defensive Coding
Require-Style Checks
Check a precondition and return a clear rejection result.
Require-Style Checks
RequireChecks.kt
fun labelAmount(amount: Int): String {
if (amount <= 0) {
return "rejected"
}
return "amount:$amount"
}
fun main() {
val amount =
val label = labelAmount(amount)
println("amount=$amount")
println("label=$label")
}
fun labelAmount(amount: Int): String {
if (amount <= 0) {
return "rejected"
}
return "amount:$amount"
}
fun main() {
val amount =
val label = labelAmount(amount)
println("amount=$amount")
println("label=$label")
}
fun labelAmount(amount: Int): String {
if (amount <= 0) {
return "rejected"
}
return "amount:$amount"
}
fun main() {
val amount =
val label = labelAmount(amount)
println("amount=$amount")
println("label=$label")
}
precondition
A precondition check keeps invalid data out of the main calculation.