~/talk

Error Handling Beyond the Standard Library

Talkat droidcon Berlin 2022 · 2022-07-06..07-08· [kotlin, functional-programming]
links:none on file
slides:none on file

Builds a signup flow that actually validates name (non‑blank), email (must contain @) and phone (starts with + and ≥4 chars), calls Retrofit and stores a token, and shows field or generic errors. Uses Kotlinx serialization, Arrow’s Validated with NonEmptyList to accumulate multiple field errors via zip merges errors, and Arrow’s Either with bind (retrofit adapter) to fail fast across the network boundary. Demo code includes value classes, a repository mapping HTTP/IO errors, and removes the pyramid of doom.

AI-written summary · about

  1. 0:00Introduction
  2. 1:09Building the signup app
  3. 3:20Potential errors in the flow
  4. 6:53Happy path implementation
  5. 9:02Error handling strategies
  6. 13:26Nullable types for failure
  7. 14:50Moving validation elsewhere
  8. 16:35Introducing domain types
  9. 18:47Form validation and API calls
  10. 19:51Accumulating errors
  11. 24:09Arrow’s validated type
  12. 28:50Error accumulation with zip
  13. 32:46Failing fast requirement
  14. 35:42Pyramid of doom
  15. 36:03Arrow’s either type
  16. 38:53Backend error handling
  17. 41:50View model integration
  18. 42:12Summary of strategies
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.