The Question is:
We are looking to use lib$find_symbol_image()to
perform a run-time link to a shared image, as
well as use lib$establish() to catch run-time
errors generated by potential erroneous calls
to lib$find_symbol_image(). During our
investigation we have found information stating
that... "On Alpha systems, LIB$ESTABLISH is not
supported, though high-level languages may
support it for compatibility."
We have also tried, using signal(), and have
not been sucesseful. Are there any other
options for catching a run-time exception
generated by calling lib$find_symbol_image()?
The Answer is :
You will want to use VAXC$ESTABLISH (for C code) or LIB$ESTABLISH.
The internals of signal handling have changed, and the details of
the implementation have definitely changed. That said, most (all?)
existing supported languages continue to have condition-handling
constructs -- though unlike OpenVMS VAX, these constructs are
implemented with the assistance of the particular languages and
the particular language run-time libraries. (The cited text is
unfortunately rather misleading in this regard.)
Please see (1314), (2002), (2486), (6363). Also (5891), (7129).
If you wish to mix C signals and OpenVMS signals, you MUST be
familiar with the C programming documentation, and you must use the
VAXC$ESTABLISH call. Please see the available C documentation.
You will also want to become familiar with the OpenVMS Programming