Handling Exceptions
OPE raises exceptions to indicate errors that occur during manual or automatic tracing. You can handle these exceptions within your application program.
OPE uses the tix_exception facility that is provided by ObjectStore. For a detailed description of this facility refer to the ObjectStore C++ A P I Reference.
The following exceptions are defined:
err_ope_exception |
This exception inherits from err_objectstore. Every exception reported by OPE inherits from err_ope_exception. Handle this exception if you do not want to implement detailed error recovery or analysis. |
err_ope_database |
This exception indicates that there are too many open databases to be traced by OPE. During one application trace OPE can retrieve performance data up to a maximum of 255 databases. If you encounter this exception, use manual tracing to trace only selected areas within your application program or reduce the number of opened databases. |
err_ope_incomp_version |
This exception indicates an inconsistency of the interface between ObjectStore and OPE. In this case, contact Object Design support to check whether your versions of ObjectStore and OPE are compatible. Note: The Retriever sets up a hook function that is called in case of an unhandled ObjectStore exception. With the hook function, the Retriever can close the trace file properly. This is only possible if you do not call the following function within your application after the Retriever is loaded by ObjectStore:tix_exception::set_unhandled_exception_hook(f)
|
err_file_problem |
This exception indicates that OPE has a problem writing the trace file. |