Wednesday, March 23, 2005

 

Let's talk Exceptions, part 2

Before I start talking about exceptions I want to first talk about what I want to talk about...in other words, what's the plan?

The Topics
1. The mechanism. How exceptions are delivered to the user-mode application.
2. The basics to the try-catch-finally-fault syntax (C# specific)
3. The basics of throwing (when and how).
4. The basics of catching (when and how).
5. The basics of finally blocks.
6. The basics of finalizers.
7. The basics of the Dispose pattern.
8. The basics of unhandled exceptions.
9. Patterns to use when doing a...
a. Throw
b. Catch
c. Finally

10. Problems and issues, some specific to v1.1, some that are non-specific.
11. Problems with Dispose and finalize.

And if that's not enough there'll probably be some digression into related areas. And when I'm done with the basics I plan to talk about some advanced stuff....lots of it.

In fact, here's the first digression...most of the help text and published articles I've read cover the basics fairly well (just not all in one place), but when they apply the basics to real world applications the wheels start to come off...the typical bromides that fall out of the basics are fine when applied to trivial applications, but they don't scale well to large, complex, distributed, organic applications. I have yet to see a decent discussion on how well exceptions work over time as a system evolves and mutates. I have not seen evidence that there is much active research on this particular problem.

That's really where all this is heading. I am a practical sort. I enjoy the theory of this, that, and the other, and the discussions go along with it, but in the end I like to apply what I know. I like to make things work, not just talk about it. And my current interest is in making large systems work, and that includes how they evolve.

Enuf for now.
Comments: Post a Comment

<< Home

This page is powered by Blogger. Isn't yours?