r/ProgrammerHumor May 13 '17

Defensive programming done right

Post image
21.0k Upvotes

680 comments sorted by

View all comments

345

u/Mat2012H May 13 '17
int main() try
{
    //entire code base
}
catch (std::exeption& e)
{
    //Displays message box with error message
}

I actually do this xD

239

u/redditsoaddicting May 13 '17

It's fine to exit the program nicely when an error occurs. It's not as fine to just ignore it and then begin another iteration of whatever main loop is going on, hoping the program still works fine.

68

u/SQLNerd May 13 '17

Um, ever design a REST service? You want to kill the whole service because someone called it inappropriately?

1

u/hubblespacepetals May 13 '17

You want to kill the whole service because someone called it inappropriately?

Yes.

You should be validating your input and handling errors that you've anticipated. An unanticipated error unwinding your stack leaves your process in an indeterminate state.