Skip to content

Instantly share code, notes, and snippets.

@ClausPolanka
Created February 26, 2021 09:06
Show Gist options
  • Save ClausPolanka/c1efbd60617529e688dd9a923a74e60a to your computer and use it in GitHub Desktop.
Save ClausPolanka/c1efbd60617529e688dd9a923a74e60a to your computer and use it in GitHub Desktop.
IOSP
fun main(args: Array<String>) {
errorHandled {
inCase(args.isEmpty(),
onEmpty = {
val peers = sortedPeers()
show(peers)
},
onNonEmpty = {
updatePeer(args)
val peers = sortedPeers()
show(peers)
}
)
}
}
private fun errorHandled(fn: () -> Unit) {
try {
fn()
} catch (e: PeerNotFoundException) {
println("Sorry, couldn't find '${e.firstName}'")
} catch (e: MultipleEntriesFoundException) {
println("Multiple entries found for '${e.firstName}'. Please also provide last name.")
}
}
private fun inCase(argsAreEmpty: Boolean, onEmpty: () -> Unit, onNonEmpty: () -> Unit) {
when (argsAreEmpty) {
true -> onEmpty()
else -> onNonEmpty()
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment