Alternatives to Exceptions

Episode Summary

This week we talk about sideband data, multiple return values, and output parameters.

Episode Notes

Alternatives to Exceptions

Examples of when to not "fail fast":

  1. test suites

Sometimes you just need a way to proceed through steps and have the system tell you what parts succeeded and what parts failed

Sideband data

When communication failures without resorting to exceptions, we need a sideband: a secondary channel of communication for reporting meta-information about the status and disposition of a process.

Multiple return values

hehe, this reminds me of stuff I do in javascript

Or you can use an open struct

def foo => 42, :status => :success)

Output parameters

Caller-supplied fallback strategy




Slack Video Calling + Collaboration