4 ms·
This sounds like the "limp versus die" design decision: http://wiki.c2.com/?LimpVersusDie http://wiki.c2.com/?LimpVersusDie The "right" answer depends on the d
by tabtab 8y ago
This sounds like the "limp versus die" design decision: http://wiki.c2.com/?LimpVersusDie http://wiki.c2.com/?LimpVersusDie
The "right" answer depends on the domain. For a web startup, you may want to live with occasional errors being ignored in order to get your product up quickly and grow market share. Early Amazon.com used to fudge up my orders, but such didn't end the company.
But a bank probably doesn't want the software to "guess" if there is a potential numerical problem. It would rather have the batch process "crash". Otherwise, it could generate thousands of bad transactions and get sued to Pluto.
People used to debate this with MySql's default "truncation" setting. MySql was popular with start-ups because you could get it up and change the tables quickly without dealing with persnickity details, living with stuff occasionally falling thru the cracks.
- mcguire 8y agoThe difference is between total and partial functions. A total function can have well-defined results (thus, no guessing) and is much easier to use than a function that unnecessarily fails.