Windows Azure Guidance – Failure recovery – Part III (Small tweak, great benefits)
In the previous post, my question was about a small change in the code that would yield a big improvement. The answer is:
What changed?
- No try / catch
- We reversed the order of writes: first we write the details, then we write the “header” or “master” record for the expense.
If the last SaveChanges fails, then there will be orphaned records and images, but the user will not see anything (except for the exception), and presumably would re-enter the expense report. In the meantime a background process will eventually clean up everything. Simple and efficient.
Comments
Anonymous
May 11, 2010
ThankAnonymous
May 11, 2010
Why did you remove the try catch? You can handle the exception and show a user friendly message. Putting header save in the a nested try catch could help you track which part crashed and show an appropriate error message. Or is it just that you want to show an exception to the user to warn him that something went wrong, and the "beautification" of your code is left as an excercise for the reader? :)Anonymous
May 12, 2010
The comment has been removedAnonymous
May 16, 2010
The comment has been removed