I tried that code, with the date string you describe:
string dateFromformat = "dd/MM/yyyy";
DateTime dateFrom1 = DateTime.ParseExact("21/12/2014", dateFromformat, CultureInfo.InvariantCulture);
DateTime dateFrom2 = DateTime.ParseExact("12/21/2014", dateFromformat, CultureInfo.InvariantCulture);
I get no error with the first conversion, but I do get a "Gregorian Calendar" exception when the second executes.
Did you perhaps miskey the input string?
(BTW: I'd use TryParseExact, instead of ParseExact, and report an error to the user instead of relying on the exception, or by preference use a DateTimePicker control instead of a TextBox - that way the user can't enter a wrong value and you get the DateTime directly without any conversions)