Now that you have seen how to use the PLVexc plug-and-play component, let's go through the steps I followed to build this package. I will even show you two different stages of development of the package. It is very important for you to understand that while it is important to do it right the first time, it is also very unlikely that you will really and truly get it all correct in that first implementation. I present in this book software that I have massaged and fine-tuned repeatedly over the course of a year. You don't see all the pain, indecision, and transitional bugs of PL/Vision, but—believe me—they were there.
I learned in the course of building PLVexc that I need to progress through several phases in order to properly design and implement a package component. These phases are:
Phase 1. Understand the challenge and obstacle.
The first step I took to construct PLVexc was to understand fully the challenges faced by developers when building exception handlers in their PL/SQL programs. I have found that the more thoroughly I grasp the problem, the more accurate I will be in providing a solution.
Phase 2. Research the technical issues.
What are all the nuances of exception handling in PL/SQL? What are the gotchas, the no-can-dos? What things are possible, but never before attempted?
Phase 3. Implement the first version of the package.
Admit to yourself right up front: this is Version 1.0. It will change radically before you are done. But put something ...