I love unhandled errors from websites. Today, while submitting my timesheet for the day I received the following:
Microsoft OLE DB Provider for SQL Server error '80040e14'
Incorrect syntax near the keyword 'And'.
/EZM/traddfreets.asp, line 752
It tells me that I'll always have a job in the future. I waited a few minutes and then tried to re-submit my time and got:
Microsoft OLE DB Provider for SQL Server error '80040e21'
Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.
/EZM/traddfreets.asp, line 563
These, in particular seems 'frog march' worthy. What this tells me is they have an error in production and are trying to fix it IN PRODUCTION! That's a No-No in my book. I understand the desire to return to service, but what if your 'fix' inserts bad data? What if it corrupts? What if it gives access to protected data?
And worse still, The only thing I get is the SQL error. I get no 'sorry' page, or link to go back to the time sheet, no 'handling' of the situation. It's easy to see how this happens. All to often the focus is on the postitive-outcome side of things. Given A then do B, C and D and then return E. There's usually error checking along the way, which is half of the negative-outcome side of things. I often see errors and stack tracing output, some of if boiler plate from the underlying components like the ones above, others written by the website folks in question. It reminds me of the Seinfeld episode where Jerry is trying to pick up his rental car and there's no car available (paraphrasing). "But I have a reservation for a car." "I know what a reservation is sir." "I don't think you do, because if you did, I'd have a car right now. Anyone can take a reservation. It's the holding of the reservation...that's really the most important part!" (this bit gets used a lot by a lot of people judging by the google hits). In this case, they know how to 'Throw' the exception. It's the catching, the catching is the most important part.
Oh well, the silver lining is job security.
No comments:
Post a Comment