Beyond Exceptions: Building Resilient Android Apps with S…
summary
Handles offline-first POS complexity (hours or days offline, interprocess comms) by splitting failures into domain errors and program-logic failures, recommends nullability for simple domain cases and sealed hierarchies plus a custom Result monad for richer cases, warns against runCatching eating CancellationException, advocates assertions (NASA two assertions per function rule) and crashing fast to surface bugs, and shows native crash debugging using Firebase tombstone files on Android 12 to find native-reference-table overflows.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 2:52Kotlin error handling history
- 8:55Domain errors and limits
- 12:06Nullability for errors
- 14:33Problems with Result type
- 20:11Sealed hierarchies for errors
- 25:51Go error handling comparison
- 26:34Rich errors in Kotlin 2.4
- 29:04Program logic failures
- 33:42Crash reporting tools
- 36:53Summary
related talks
36m“Make your app work perfectly offl…” — Connection Interrupted
22mEverything you ever wanted to know about error handling in Android
43mFunctional approach to Android architecture using Kotlin
57mFunctional Android apps
42mWorking Effectively with (Android) Legacy Code
06mCreate offline-first apps
39mOffline Applications With Architecture Components, Retrofit, Room, Dagger, RxJava
34mFunctional Android
