Hi Nate,
This is an excellent question, and one that deserves serious thought. There are several stragies you might consider: a few follow.
1) you can have loggers server side that log all errors: this could be three seperate loggers(network, gui, db), or a single large logger. Advantages: it's a very elegent solution. Disadvatages: the logging might break down, thus introducing a point of failure for your application.
2) you can simply log every message to the display, thus creating a running system analysis. Advantages: it's useful information, though not quite as elegent as the above. Disadvantages: it can be messy in displaying: after all, too much information is no information.
3) you can swallow errors. advantage: very easy to do. disadvantages: might fail the exam.
All of these, of course, are for servers side error handling. client side, you almost certainly want to catch the error and display a friendly message to the user: ex: "the server could not be contact at address localhost. Please confirm that it is functioning".
My suggestion is to create your own custom error objects, throw them as neccessary, catch them gui side, and display a friendly message if you do so.
HTH,
M
The Sun Certified Java Developer Exam with J2SE 1.4