472,993 Members | 2,185 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,993 software developers and data experts.

Error handling in a 3 Tier architecture????

hello guys,

I have a GUI, Business Object layer and data layer.

What is the best way to handle errors in these layers?

Do I need to catch errors in all these layers? Or simply as all the errors
will fall to the GUI layer ultimately I
just need to handle the errors in the GUI layer and that is it?

any example or online resource in a simple base will be appreciated.

Ta
Nov 19 '05 #1
3 2503
There is a exception managment guide from Microsoft:
http://msdn.microsoft.com/library/de...ceptdotnet.asp

You may want to check out the Enterprise Library's Exception Handling
Block yet? It allows you to define and change your exception handling
strategies in the config file, hence giving your flexibility in
adapting to your real usage (ie, should you log an exception? where?
when?..etc).

HTH,
Alex

Nov 19 '05 #2
Thanks Alex,

I have already seen Microsoft guidelines for error handling as the links
bellow however that is in very general form
I specifically want it in a tiered application and how to manage and handle
the errors.

I haven't checked Enterprise Library's Exception Handling
Block. Thanks for your help and response
TA

"Alex" <li*****@gmail.com> wrote in message
news:11*********************@g44g2000cwa.googlegro ups.com...
There is a exception managment guide from Microsoft:
http://msdn.microsoft.com/library/de...ceptdotnet.asp

You may want to check out the Enterprise Library's Exception Handling
Block yet? It allows you to define and change your exception handling
strategies in the config file, hence giving your flexibility in
adapting to your real usage (ie, should you log an exception? where?
when?..etc).

HTH,
Alex

Nov 19 '05 #3
Annie,

The guide talks about handling errors in between layer boundaries too.
It may sounds general since exception handling is typically specific to
the application.
I would say if all your layers will be hosted on the same machine, then
handling all the recoverable exceptions when they arise, and let the UI
layer handles the rest of the nonrecoverable / unexpected exceptions is
a sound and simple way.
How should you handle them? That again depends on your application and
situation, but the Enterprise Library provides you the flexibility to
change your handling strategies (log, wrap, substitute, rethrow, a
combination..etc) for any types of exception. It may seems there are
many choices, but it is usually best to do the simplest thing that
could possibly work ;)

HTH,
Alex

Nov 19 '05 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

77
by: nospam | last post by:
Reasons for a 3-tier achitecture for the WEB? (NOTE: I said, WEB, NOT WINDOWS. DON'T shoot your mouth off if you don't understand the difference.) I hear only one reason and that's to switch a...
25
by: David Noble | last post by:
We've been developing a web site using 3-tier architecture for 18 months now. There is a common layer that defines the classes - using XML schemas. The data layer acts as a wrapper to 3 databases...
51
by: nospam | last post by:
THIS IS the DOTNETJUNKIES MESSAGE ------------------------- We're Sorry As many of you know we have recently launched SqlJunkies.com. We have overhauled our runtime and will be using it on...
4
by: Patrick | last post by:
I'm writing a winforms database application in C#. I've come across a lot of stuff lately about "N-Tier" architecture. Can anyone give me a simple explanation of N-Tier? The descriptions that...
3
by: RAJESH | last post by:
I am working with c# and asp.net in developing web applications, iam using ..netframework 1.1 ,i want to know what is the need of 3-tier or 4-tier architecture in our application development.what...
0
by: lllomh | last post by:
Define the method first this.state = { buttonBackgroundColor: 'green', isBlinking: false, // A new status is added to identify whether the button is blinking or not } autoStart=()=>{
2
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 4 Oct 2023 starting at 18:00 UK time (6PM UTC+1) and finishing at about 19:15 (7.15PM) The start time is equivalent to 19:00 (7PM) in Central...
0
by: Aliciasmith | last post by:
In an age dominated by smartphones, having a mobile app for your business is no longer an option; it's a necessity. Whether you're a startup or an established enterprise, finding the right mobile app...
0
tracyyun
by: tracyyun | last post by:
Hello everyone, I have a question and would like some advice on network connectivity. I have one computer connected to my router via WiFi, but I have two other computers that I want to be able to...
4
NeoPa
by: NeoPa | last post by:
Hello everyone. I find myself stuck trying to find the VBA way to get Access to create a PDF of the currently-selected (and open) object (Form or Report). I know it can be done by selecting :...
0
NeoPa
by: NeoPa | last post by:
Introduction For this article I'll be focusing on the Report (clsReport) class. This simply handles making the calling Form invisible until all of the Reports opened by it have been closed, when it...
0
isladogs
by: isladogs | last post by:
The next online meeting of the Access Europe User Group will be on Wednesday 6 Dec 2023 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, Mike...
4
by: GKJR | last post by:
Does anyone have a recommendation to build a standalone application to replace an Access database? I have my bookkeeping software I developed in Access that I would like to make available to other...
3
SueHopson
by: SueHopson | last post by:
Hi All, I'm trying to create a single code (run off a button that calls the Private Sub) for our parts list report that will allow the user to filter by either/both PartVendor and PartType. On...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.