It is my understanding that if a function/subroutine encounters an exception then it looks for a handler in current function/subroutine if not it leaves the function and raises it in calling function hoping to find a handler there. Only after traveling up the call tree does it reach the runtime and that handles it as a fatal error and brings up a dialog box before shutting down the application.
i had an identical piece of code that raised an exception. One was put in module and another in a class.
I had a form button which either called the function in the module or called the method of an object i created from the class. This depended on whether a check box was selected. The lines of code trapped any exceptions that occured.
The standard functions exception was trapped.
The class methods exception was not. The debugger put me on the line in the class that raised the exception.
I did this experiment cos i couldnt trap the exceptions in this tcp/ip class i am using. Surely there must be way of trapping the exceptions on it. Is some setting in my IDE set wrong.