Listen

Description

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
OpenStruct.new(:result => 42, :status => :success)
end

Output parameters

Caller-supplied fallback strategy

Picks

JP:

John:

Slack Video Calling + Collaboration