1. Episode #40
  2. Mar 15, 2020
  3. 49m
  4. 49m

Handling Errors Correctly with Jeff Kelley

Handling Errors Correctly with Jeff Kelley

In this episode, Leo talks with Jeff Kelley from Detroit Labs about handing, tracking and test errors and when they can happen.
  1. 49m podcast at transistor.fm
  2. 49m video at youtube.com


Related Episodes

Related Links



  • Specialize in helping businesses build apps for iPhone, iPad, Mac and Apple Watch
  • 10 years of experience developing for a variety of Apple platform
  • Helping dev shops which lack experience with Apple platforms and Swift

Contact me if you need help today.

We have an opening for sponsors

  • Do you have a product or service which can target our ever growing community of developers as well as technology and business leaders? 

Contact me today if you are interested in sponsoring or go to our Patreon page.

What is special about errors in Swift 

  • The history of Objective-C and Swift errors
  • The strong-typed nature of Swift
  • fatalError vs assert vs precondition
  • How to test fatalError in unit tests

What are some ways to handle errors?

  • User initiated errors and dialogs
  • Chaining logging and error tracking
  • Differentiating release and debug build
  • Using proxy server to listen to requests in debug
  • When to purposely crash with fatalError
  • Dealing with asynchronous callbacks and Combine
  • What is the Never type?
  • Dealing with permission prompts like HealthKit

What can teams do to design and develop for errors

  • Use a service to track errors for developers
  • Showing the user the correct information
  • Dealing with issues which aren't errors
  • Designers should show how errors are handled
  • Design the write localized messages for errors
  • With agile development, make sure each error path is handled in your story card

Social Media


BrightDigit - @brightdigit

Leo - @leogdion



Instagram - @brightdigit


Music from https://filmmusic.io
"Blippy Trance" by Kevin MacLeod (https://incompetech.com)
License: CC BY (http://creativecommons.org/licenses/by/4.0/)

★ Support this podcast on Patreon ★