The Do’s and Don’ts of Error Handling: Joe Armstrong