If you’ve ever noticed how completely unreliable computers are – you know, performing completely random and unpredictable actions when given a simple, explicit instruction – then you’ll appreciate today’s snippet from John P.

Today’s code was uncovered in a web application and attempts to solve the well-known problem of DateTime.Parse: in the event that the method fails the first time, it will probably correctly parse a string the tenth time.

DateTime DateTimeParseSafe(string s)
{
    return DateTimeParseSafe(s, 0);
}

DateTime DateTimeParseSafe(string s, int iter)
{
    DateTime returnVal = DateTime.MinValue;
    try
    {
        returnVal = DateTime.Parse(s);
    }
    catch
    {
        if (iter < 10)
        {
            iter++;
            returnVal = DateTimeParseSafe(s, iter);
        }
    }
    return returnVal;
}