head 1.14; access; symbols; locks; strict; comment @# @; 1.14 date 2007.10.12.20.03.00; author rse; state Exp; branches; next 1.13; commitid xoXlVeiMQYKE8lBs; 1.13 date 2005.10.02.16.34.55; author rse; state Exp; branches; next 1.12; 1.12 date 2004.04.05.14.46.33; author rse; state Exp; branches; next 1.11; 1.11 date 2004.04.03.11.58.09; author rse; state Exp; branches; next 1.10; 1.10 date 2003.02.17.19.36.03; author rse; state Exp; branches; next 1.9; 1.9 date 2003.01.30.12.49.43; author rse; state Exp; branches; next 1.8; 1.8 date 2003.01.30.12.49.04; author rse; state Exp; branches; next 1.7; 1.7 date 2003.01.06.15.36.38; author rse; state Exp; branches; next 1.6; 1.6 date 2002.10.02.12.44.36; author rse; state Exp; branches; next 1.5; 1.5 date 2002.08.11.13.49.11; author rse; state Exp; branches; next 1.4; 1.4 date 2002.07.13.20.09.25; author rse; state Exp; branches; next 1.3; 1.3 date 2002.03.30.19.18.25; author rse; state Exp; branches; next 1.2; 1.2 date 2002.03.08.22.59.11; author rse; state Exp; branches; next 1.1; 1.1 date 2002.02.15.11.56.42; author rse; state Exp; branches; next ; desc @@ 1.14 log @release OSSP ex 1.0.6 @ text @ #use wml::ossp area=pkg:lib subarea=ex OSSP ex

Exception Handling

Abstract

OSSP ex is a small ISO-C++ style exception handling library for use in the ISO-C language. It allows you to use the paradigm of throwing and catching exceptions in order to reduce the amount of error handling code without making your program less robust.

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.

The OSSP ex 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.

Documentation

, .

Authors

Status

Source

Donation

@ 1.13 log @release OSSP ex 1.0.5 @ text @d45 1 a45 1 stable="1.0.5" stable_date="02-Oct-2005" d56 1 a56 1 stable="ex-1.0.5.tar.gz" unstable="none"> @ 1.12 log @release OSSP ex 1.0.4 @ text @d45 1 a45 1 stable="1.0.4" stable_date="05-Apr-2004" d56 1 a56 1 stable="ex-1.0.4.tar.gz" unstable="none"> @ 1.11 log @release OSSP ex 1.0.3 @ text @d45 1 a45 1 stable="1.0.3" stable_date="03-Apr-2004" d56 1 a56 1 stable="ex-1.0.3.tar.gz" unstable="none"> @ 1.10 log @add baseball (= throw+catch) logo @ text @d45 1 a45 1 stable="1.0.2" stable_date="30-Jan-2003" d56 1 a56 1 stable="ex-1.0.2.tar.gz" unstable="none"> @ 1.9 log @more description @ text @d10 4 a13 3 OSSP ex is a small ISO-C++ style exception handling library for use in the ISO-C language. It allows you to use the paradigm of throwing and catching exceptions in order to reduce the amount of error handling code without making d25 1 a25 1 The OSSP ex facility also provides advanced exception handling features like d44 1 @ 1.8 log @release OSSP ex 1.0.2 @ text @d24 5 a28 2 Additionally the OSSP ex facility provides advanced exception handling features like shielded and deferred exceptions. @ 1.7 log @release OSSP ex 1.0.1 @ text @d40 1 a40 1 stable="1.0.1" stable_date="06-Jan-2003" d51 1 a51 1 stable="ex-1.0.1.tar.gz" unstable="none"> @ 1.6 log @use bug reporting and manpage rendering @ text @d40 1 a40 1 stable="1.0.0" stable_date="30-Mar-2002" d51 1 a51 1 stable="ex-1.0.0.tar.gz" unstable="none"> @ 1.5 log @flush the work of this afternoon: PayPal support, cleanups, etc @ text @d27 5 d39 1 @ 1.4 log @add CVS references @ text @d46 5 a50 1 @ 1.3 log @update for OSSP ex 1.0.0 @ text @d41 1 @ 1.2 log @release OSSP ex 0.9.1 @ text @d34 3 a36 3 stable="none" stable_date="none" unstable="0.9.1" unstable_date="08-Mar-2002" done=95> d44 1 a44 1 stable="none" unstable="ex-0.9.1.tar.gz"> @ 1.1 log @first cut for all library pages @ text @d23 4 d35 1 a35 1 unstable="0.9.0" unstable_date="31-Jan-2002" d44 1 a44 1 stable="none" unstable="ex-0.9.0.tar.gz"> @