ossp-web/pkg/lib/ex/index.wml
#use wml::ossp area=pkg:lib subarea=ex
<title>OSSP ex</title>
<h1>Exception Handling</h1>
<h2>Abstract</h2>
<img src="ex.png" alt="" align=right>
<b>OSSP ex</b> is a small ISO-C++ style exception handling library for use in the
ISO-C language. It allows you to use the paradigm of <b>throwing and catching
exceptions</b> in order to reduce the amount of error handling code without making
your program less robust.
<p>
This is achieved by directly transferring exceptional return codes (and the
program control flow) from the location where the exception is raised (throw
point) to the location where it is handled (catch point) -- usually from a
deeply nested sub-routine to a parent routine. All intermediate routines no
longer have to make sure that the exceptional return codes from sub-routines
are correctly passed back to the parent.
<p>
The <b>OSSP ex</b> facility also provides advanced exception handling features like
shielded and deferred exceptions. Additionally, OSSP ex allows you to choose
the used underlying machine context switching facility and optionally support
multi-threading environments by allowing you to store the exception catching
stack in a thread-safe way.
<h2>Documentation</h2>
<pkg_manpage name="ex" sect=3 path="/pkg/lib/ex/ex.pod">,
<pkg_manpage name="ex-config" sect=1 path="/pkg/lib/ex/ex-config.pod">.
<h2>Authors</h2>
<pkg_author name="Ralf S. Engelschall" mail="rse@engelschall.com">
<h2>Status</h2>
<pkg_status
name="ex" assign="rse"
genesis="Jan-2002"
stable="1.0.6" stable_date="12-Oct-2007"
unstable="none" unstable_date=""
done=100>
<h2>Source</h2>
<pkg_files
cvs=$(CVS_ROOT_URL)/pkg/lib/ex/
url=$(FTP_ROOT_URL)/pkg/lib/ex/
directory=$(FTP_ROOT_DIR)/pkg/lib/ex/
files="ex-*.tar.gz"
stable="ex-1.0.6.tar.gz" unstable="none">
<h2>Donation</h2>
<pkg_donation name="ex" return="$(BASE_URL)/pkg/lib/ex/">