Hi Seref, I do not have any resources for you, but this is the way we handle it at work.
For a given app, we may have the application, service agent (used to call into the web service), one or more web services, and usually one data layer to go with each web service that needs one. We let the data layer exceptions bubble up to the web service layer, where we log the error and any other information that we want and then re-throw the error. The service agent layer simply bubbles up the exception. Finally the application itself traps the error and handles it the way it sees fit. There are times where in some of the layers, we may trap certain errors that can be handled in a logical way, but in general we do as above. We try to create reusable web service/data layers so that multiple apps can use them. Bobby -----Original Message----- From: Discussion of advanced .NET topics. [mailto:[EMAIL PROTECTED] On Behalf Of Seref Arikan Sent: Thursday, June 26, 2008 5:41 AM To: ADVANCED-DOTNET@DISCUSS.DEVELOP.COM Subject: [ADVANCED-DOTNET] Exception handling in multitier applications Hi, I'd like to get your opinions, and if possible pointers to resources for exception handling in multitier .net applications. When you have a usual multitier app, you usually have a db access layer like a generated ORM classes, web services exposing them, and clients (web and desktop) that consume these services. At the moment I have a few apps that I'm maintaining, and some web pages and windows forms are constructed by calls to various web services, and later combining their outputs. However, there are a lot things that can go wrong, like a syntactically correct input being rejected by a back end service, which requires adjustments in the user interface like disabling various parts of the screen etc. I've come to realize that error handling code scattered around layers is the most ugly part of all software that I write. We have a lot of best practices and design options but resources about them seem to cover mostly the cases where things go as expected. A consistent approach to handling errors would be really nice, for what I have right now is just results of my own experience, and I believe in learning from other's mistakes and best practices. Do you have any resources that I can benefit from? Any error-handling patterns? For example how and where do you log and report errors in a web based app? I've realized that error handling aspects tend to cross cut multiple layers sometimes, and writing code to cover these aspects leads to high coupling between layers. After spending a great amount of effort for low coupling, this is not nice! I'd be more than happy to hear your thoughts and suggestions Regards Seref =================================== This list is hosted by DevelopMentorĀ® http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com