Hi All, I have a query about approaching the design of a system we
have to develop for work. I'm not sure I'm sending this message to the
correct group - if not, could anyone suggest a group my query would be
more accurately addressed to?

Background: The company I work for has recently landed a contract to
develop a web interface to their their client's back-end system.
Another guy (with a bit more experience than me) and I have been given
the assigned the responsibility of writing the specification for some
of the components in the system.

The questions are:

Is it better to throw exceptions up to the calling method, or deal
with them as they occur?
- I ask this because I'm not sure the way we're currently currently
handling errors is correct and the other guy I work with is suggesting
that this is a better way to do it. But he doesn't really know why,
and neither do I. In other systems we've done we catch errors wherever
they occur, write the error to the db, tidy up the mess, and then
continue the process. I would have assumed it was better to deal with
it immediately, rather than throwing it out of the context from which
it occurred and then trying to deal with it. Wouldn't that be much
more complex?!

Is it possible to dynamically (i.e. at run-time) create properties of
a class/object?
- I'm not really sure if I'm asking the question correctly, so I'll
explain: Suppose I have a stored procedure that brings back a number
of results that populate the properties of my class. If I modified the
stored procedure bring back more results or results of a different
datatype, is it possible to instantiate my class to have new/more
properties of those datatypes? What would you call that? Would the
solution be a generic collection, or a collection of generics or
something? - this would transform the capabilities of the system (and
probably save my sanity in the long run as I'll have to maintain the
system after!)

how can I model a User class that has permission to certain pages and
certain data on certain pages?
- I'm not asking for an answer as such to this question (i'm not askin
for anyone to do it for me!!) - I'm just kinda asking where do I
start? Is there an existing design pattern I could refer to?

Thanks guys - this is a great opportunity for me to get some
experience with system design so I want to kinda do it right, but it's
difficult to know where to start sometimes. (btw - i don't want to
seem a bit impersonal with this message, but I also wanted to keep it
short!) Thanks!

Dave