Sylvia,
1) there is absolutely nothing wrong with running a SELECT against the vcx to see if a class exists.
2) If you are trying to create this object within the method code of another object, the objects' Error() method takes precedence over ON ERROR handlers. So you can handle the error there and not have to worry about saving, resetting and restoring the global handler.
3) You could also wrap the CreateObject with your own object/UDF as a reusable component.
>I didn't know this could be done. Are you saying that this local error routine will not overwrite my global error routine after I exit from this module? If that's the case, then you're right, this would be better.