Error Handling Very important! Requires quite a bit of forethought and discipline Your API should export sensible error codes and messages at all levels All syscalls and other API calls should be checked for error codes and handled "correctly" Sometimes failure modes aren't as easy as they appear Example - if you try to deliver a piece of mail and it fails, do you Stop delivering for that single attempt, and backoff? Stop delivery for all mail to that host/MX, and backoff? .. and then, how do you start delivery up again?