Back
Syntax
Study
Editor
Mode:
HTML
CSS
JavaScript
PHP
Reset
Run »
HTML / CSS / JS
// Demonstrating runCatching for safe error handling fun riskyParse(input: String): Int { return input.toInt() // throws NumberFormatException on bad input } fun safeParseWithResult(input: String): Result<Int> = runCatching { riskyParse(input) } fun main() { // runCatching returns Result<T> val good = safeParseWithResult("42") val bad = safeParseWithResult("abc") println(good.getOrDefault(0)) // 42 println(bad.getOrDefault(0)) // 0 good.onSuccess { println("Parsed: $it") } bad.onFailure { println("Error: ${it.message}") } // map and recover on Result val transformed = bad .map { it * 2 } .recover { -1 } .getOrNull() println("Recovered: $transformed") // -1 // Nullable return from standard library (similar to Java interop) val map = mapOf("key" to "value") val found: String? = map["key"] // returns V? from Java Map val missing: String? = map["other"] println(found ?: "not found") // value println(missing ?: "not found") // not found // requireNotNull and checkNotNull val input: String? = "data" val safe = requireNotNull(input) { "Input must not be null" } println(safe.length) // 4 }
Result
Open