Can you explain how my exception handling is poor?
Check out the link I posted for the exception handling. Everything is explained there. There isn't a need to handle any of those exceptions unless you can actually do something bout it. Also you are going to end up losing parts of the original exception, namely the stack trace by re-throwing the exception.
Also, sorry about the "GUI". That is how our teacher is teaching us lol.
If your professor is calling this a GUI, then you need to find a new school / professor / program. It isn't "graphical" at all. There is nothing technically wrong with doing it as a CLI project though. Just not what I would have expected.
Also, I build this as a 3 Tier client/server application because since functionality is limited there is no need to go N-Tier. But thats just my opinion and i would like to know why you think N-Tier is the bettter route to go.
Simple answer is, I asked for an N-Tier
If I was your proff, you'd have lost points for not following directions! I was going to build on top of this example (hinted at by the quoted post below). I was just trying to get you to THINK about the problem in the correct way. Sure it is "overkill" for looking up order info, but that isn't the end-game goal. It is also pretty common place in the industry to do things this way and it is generally the accepted practice.
Use the Northwind sample database and build an application to allow a user to search order information. Start there, see how that goes... Take your time and do it right. Build the proper application layers (data access, bussiness, presentation, gui) have a common library for common (duh) functions that can be used in any layer. If you do this, then adding newer features such as adding new orders, editing customer info, etc should be cake.